+void ControlRenderer::SetCustomShader( const Property::Map& shaderMap )
+{
+ if( mImpl->mCustomShader )
+ {
+ mImpl->mCustomShader->SetPropertyMap( shaderMap );
+ }
+ else
+ {
+ mImpl->mCustomShader = new Impl::CustomShader( shaderMap );
+ }
+}
+
+void ControlRenderer::Initialize( Actor& actor, const Property::Map& propertyMap )
+{
+ Property::Value* customShaderValue = propertyMap.Find( CUSTOM_SHADER );
+ if( customShaderValue )
+ {
+ Property::Map shaderMap;
+ if( customShaderValue->Get( shaderMap ) )
+ {
+ SetCustomShader( shaderMap );
+ }
+ }
+
+ DoInitialize( actor, propertyMap );
+}
+