Merge "Fix for object loader not handling flags correctly." into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / renderers / renderer-factory-impl.h
index 9b55182..b9d5cf1 100644 (file)
@@ -44,13 +44,25 @@ typedef IntrusivePtr<ImageAtlasManager> ImageAtlasManagerPtr;
  */
 class RendererFactory : public BaseObject
 {
-
 public:
 
+  enum RendererType
+  {
+    COLOR,
+    BORDER,
+    GRADIENT,
+    IMAGE,
+    N_PATCH,
+    SVG,
+    UNDEFINED
+  };
+
   /**
    * @brief Constructor
+   *
+   * @param[in] debugEnabled If true, use debug renderer to replace all the concrete renderer.
    */
-  RendererFactory();
+  RendererFactory( bool debugEnabled );
 
   /**
    * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Property::Map& )
@@ -73,9 +85,9 @@ public:
   void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Vector4& color );
 
   /**
-   * @copydoc Toolkit::RenderFactory::GetControlRenderer( float, const Vector4& )
+   * @copydoc Toolkit::RenderFactory::GetControlRenderer( float, const Vector4&, bool )
    */
-  Toolkit::ControlRenderer GetControlRenderer( float borderSize, const Vector4& borderColor );
+  Toolkit::ControlRenderer GetControlRenderer( float borderSize, const Vector4& borderColor, bool antiAliasing );
 
   /**
    * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Image& )
@@ -113,6 +125,14 @@ protected:
 private:
 
   /**
+   * Get the renderer type from the property map.
+   *
+   * @param[in] propertyMap The map contains the properties of the control renderer
+   * @return The rendererType
+   */
+  RendererType GetRendererType( const Property::Map& propertyMap );
+
+  /**
    * Prepare the atlas manager
    */
   void CreateAtlasManager();
@@ -130,7 +150,8 @@ private:
 private:
 
   RendererFactoryCachePtr mFactoryCache;
-  ImageAtlasManagerPtr mAtlasManager;
+  ImageAtlasManagerPtr    mAtlasManager;
+  bool                    mDebugEnabled;
 };
 
 } // namespace Internal