-ShaderEffect Builder::GetShaderEffect( const std::string &name)
-{
- Replacement constant( mReplacementMap );
- return GetShaderEffect( name, constant );
-}
-
-ShaderEffect Builder::GetShaderEffect( const std::string &name, const Replacement& constant )
-{
- DALI_ASSERT_ALWAYS(mParser.GetRoot() && "Builder script not loaded");
-
- ShaderEffect ret;
-
- ShaderEffectLut::const_iterator iter( mShaderEffectLut.find( name ) );
- if( iter != mShaderEffectLut.end() )
- {
- ret = iter->second;
- }
- else
- {
- if( OptionalChild effects = IsChild( *mParser.GetRoot(), "shaderEffects") )
- {
- if( OptionalChild effect = IsChild( *effects, name ) )
- {
- Dali::Property::Value propertyMap(Property::MAP);
- if( DeterminePropertyFromNode( *effect, Property::MAP, propertyMap, constant ) )
- {
- ret = Dali::Scripting::NewShaderEffect( propertyMap );
- mShaderEffectLut[ name ] = ret;
- }
- }
- }
- }
-
- return ret;
-}
-