From 01326eda80ceefd100d8d4335a6428fac5dedb23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emmanuel=20Beno=C3=AEt?= Date: Sat, 18 Nov 2017 17:34:29 +0100 Subject: [PATCH] Overrides - Duplicate names handling fixed --- demo.srd | 14 ++++++++++++++ syncoverrides.cc | 24 ++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/demo.srd b/demo.srd index f449c8f..a4360f9 100644 --- a/demo.srd +++ b/demo.srd @@ -487,6 +487,20 @@ (input fxaa-subpixel .5) (input fxaa-et .166) (input fxaa-et-min .0833) + + (ui-overrides + (section "Post-processing" + (section "FXAA" + (float "Sub-pixel quality" fxaa-subpixel + (min 0) (max 1) (slider)) + (float "Edge threshold" fxaa-et + (min .063) (max .333) (slider)) + (float "Edge threshold min." fxaa-et-min + (min .0312) (max .0833) (decimals 4) + (slider)) + ) + ) + ) ) (fn fxaa-render (in-image) diff --git a/syncoverrides.cc b/syncoverrides.cc index ad1429c..04263f6 100644 --- a/syncoverrides.cc +++ b/syncoverrides.cc @@ -61,6 +61,9 @@ bool EnterFloat2_( T_SRDParserData const& data ) SP_Float ptr{ NewShared< T_Float2 >( input[ 2 ].stringValue( ) , input[ 3 ].stringValue( ) , input[ 1 ].stringValue( ) ) }; + if ( ptr->inputNames( ).size( ) != 2 ) { + data.errors.add( "duplicate input names" , input[ 3 ].location( ) ); + } ptr->location( ) = input[ 0 ].location( ); *( data.targetData ) = std::move( ptr ); return true; @@ -73,6 +76,9 @@ bool EnterFloat3_( T_SRDParserData const& data ) input[ 2 ].stringValue( ) , input[ 3 ].stringValue( ) , input[ 4 ].stringValue( ) , input[ 1 ].stringValue( ) ) }; + if ( ptr->inputNames( ).size( ) != 3 ) { + data.errors.add( "duplicate input names" , input[ 3 ].location( ) ); + } ptr->location( ) = input[ 0 ].location( ); *( data.targetData ) = std::move( ptr ); return true; @@ -85,6 +91,9 @@ bool EnterFloat4_( T_SRDParserData const& data ) input[ 2 ].stringValue( ) , input[ 3 ].stringValue( ) , input[ 4 ].stringValue( ) , input[ 5 ].stringValue( ) , input[ 1 ].stringValue( ) ) }; + if ( ptr->inputNames( ).size( ) != 4 ) { + data.errors.add( "duplicate input names" , input[ 3 ].location( ) ); + } ptr->location( ) = input[ 0 ].location( ); *( data.targetData ) = std::move( ptr ); return true; @@ -184,6 +193,9 @@ bool EnterInt2_( T_SRDParserData const& data ) SP_Int ptr{ NewShared< T_Integer2 >( input[ 2 ].stringValue( ) , input[ 3 ].stringValue( ) , input[ 1 ].stringValue( ) ) }; + if ( ptr->inputNames( ).size( ) != 2 ) { + data.errors.add( "duplicate input names" , input[ 3 ].location( ) ); + } ptr->location( ) = input[ 0 ].location( ); *( data.targetData ) = std::move( ptr ); return true; @@ -196,6 +208,9 @@ bool EnterInt3_( T_SRDParserData const& data ) input[ 2 ].stringValue( ) , input[ 3 ].stringValue( ) , input[ 4 ].stringValue( ) , input[ 1 ].stringValue( ) ) }; + if ( ptr->inputNames( ).size( ) != 3 ) { + data.errors.add( "duplicate input names" , input[ 3 ].location( ) ); + } ptr->location( ) = input[ 0 ].location( ); *( data.targetData ) = std::move( ptr ); return true; @@ -208,6 +223,9 @@ bool EnterInt4_( T_SRDParserData const& data ) input[ 2 ].stringValue( ) , input[ 3 ].stringValue( ) , input[ 4 ].stringValue( ) , input[ 5 ].stringValue( ) , input[ 1 ].stringValue( ) ) }; + if ( ptr->inputNames( ).size( ) != 4 ) { + data.errors.add( "duplicate input names" , input[ 3 ].location( ) ); + } ptr->location( ) = input[ 0 ].location( ); *( data.targetData ) = std::move( ptr ); return true; @@ -443,7 +461,6 @@ T_Float2::T_Float2( { inputs_.add( input0 ); inputs_.add( input1 ); - assert( inputs_.size( ) == 2 ); } void T_Float2::makeEditWidgets( @@ -481,7 +498,6 @@ T_Float3::T_Float3( inputs_.add( input0 ); inputs_.add( input1 ); inputs_.add( input2 ); - assert( inputs_.size( ) == 3 ); } void T_Float3::makeEditWidgets( @@ -521,7 +537,6 @@ T_Float4::T_Float4( inputs_.add( input1 ); inputs_.add( input2 ); inputs_.add( input3 ); - assert( inputs_.size( ) == 4 ); } void T_Float4::makeEditWidgets( @@ -613,7 +628,6 @@ T_Integer2::T_Integer2( { inputs_.add( input0 ); inputs_.add( input1 ); - assert( inputs_.size( ) == 2 ); } void T_Integer2::makeEditWidgets( @@ -651,7 +665,6 @@ T_Integer3::T_Integer3( inputs_.add( input0 ); inputs_.add( input1 ); inputs_.add( input2 ); - assert( inputs_.size( ) == 3 ); } void T_Integer3::makeEditWidgets( @@ -691,7 +704,6 @@ T_Integer4::T_Integer4( inputs_.add( input1 ); inputs_.add( input2 ); inputs_.add( input3 ); - assert( inputs_.size( ) == 4 ); } void T_Integer4::makeEditWidgets(