Changed all property & signal names to lowerCamelCase
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / renderers / control-renderer-impl.cpp
index 91343a4..04792c5 100644 (file)
@@ -29,10 +29,10 @@ namespace
 {
 //custom shader
 const char * const CUSTOM_SHADER( "shader" );
-const char * const CUSTOM_VERTEX_SHADER( "vertex-shader" );
-const char * const CUSTOM_FRAGMENT_SHADER( "fragment-shader" );
-const char * const CUSTOM_SUBDIVIDE_GRID_X( "subdivide-grid-x" );
-const char * const CUSTOM_SUBDIVIDE_GRID_Y( "subdivide-grid-y" );
+const char * const CUSTOM_VERTEX_SHADER( "vertexShader" );
+const char * const CUSTOM_FRAGMENT_SHADER( "fragmentShader" );
+const char * const CUSTOM_SUBDIVIDE_GRID_X( "subdivideGridX" );
+const char * const CUSTOM_SUBDIVIDE_GRID_Y( "subdivideGridY" );
 const char * const CUSTOM_SHADER_HINTS( "hints" ); ///< type INTEGER; (bitfield) values from enum Shader::Hints
 }
 
@@ -45,8 +45,9 @@ namespace Toolkit
 namespace Internal
 {
 
-ControlRenderer::ControlRenderer()
-: mImpl( new Impl() )
+ControlRenderer::ControlRenderer( RendererFactoryCache& factoryCache )
+: mImpl( new Impl() ),
+  mFactoryCache( factoryCache )
 {
 }
 
@@ -55,7 +56,7 @@ ControlRenderer::~ControlRenderer()
   delete mImpl;
 }
 
-void ControlRenderer::Initialize( RendererFactoryCache& factoryCache, const Property::Map& propertyMap )
+void ControlRenderer::Initialize( Actor& actor, const Property::Map& propertyMap )
 {
   if( mImpl->mCustomShader )
   {
@@ -73,7 +74,7 @@ void ControlRenderer::Initialize( RendererFactoryCache& factoryCache, const Prop
       }
     }
   }
-  DoInitialize( factoryCache, propertyMap );
+  DoInitialize( actor, propertyMap );
 }
 
 void ControlRenderer::SetSize( const Vector2& size )
@@ -117,25 +118,22 @@ float ControlRenderer::GetDepthIndex() const
 
 void ControlRenderer::SetOnStage( Actor& actor )
 {
-  Material material = Material::New( mImpl->mShader );
-  mImpl->mRenderer = Renderer::New( mImpl->mGeometry, material );
+  DoSetOnStage( actor );
+
   mImpl->mRenderer.SetDepthIndex( mImpl->mDepthIndex );
   actor.AddRenderer( mImpl->mRenderer );
-  mImpl->mIsOnStage = true;
-
-  DoSetOnStage( actor );
+  mImpl->mFlags |= Impl::IS_ON_STAGE;
 }
 
 void ControlRenderer::SetOffStage( Actor& actor )
 {
-  if( mImpl->mIsOnStage )
+  if( GetIsOnStage() )
   {
     DoSetOffStage( actor );
-
     actor.RemoveRenderer( mImpl->mRenderer );
     mImpl->mRenderer.Reset();
 
-    mImpl->mIsOnStage = false;
+    mImpl->mFlags &= ~Impl::IS_ON_STAGE;
   }
 }
 
@@ -156,6 +154,16 @@ void ControlRenderer::CreatePropertyMap( Property::Map& map ) const
   DoCreatePropertyMap( map );
 }
 
+bool ControlRenderer::GetIsOnStage() const
+{
+  return mImpl->mFlags & Impl::IS_ON_STAGE;
+}
+
+bool ControlRenderer::GetIsFromCache() const
+{
+  return mImpl->mFlags & Impl::IS_FROM_CACHE;
+}
+
 } // namespace Internal
 
 } // namespace Toolkit