X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Frenderers%2Frenderer-factory-impl.h;h=b9d5cf133cbd0047cba1f98af74147bc54e4ce7f;hb=5817a82647a2da08b91058659b70238fc7dbf2dd;hp=4ed7e7f035126eb0654e7d0cfb0038681c7d0032;hpb=618c084142032296c60a188b9438d63a81a2d264;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h index 4ed7e7f..b9d5cf1 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h @@ -36,23 +36,43 @@ namespace Internal class RendererFactoryCache; typedef IntrusivePtr RendererFactoryCachePtr; +class ImageAtlasManager; +typedef IntrusivePtr ImageAtlasManagerPtr; + /** * @copydoc Toolkit::RendererFactory */ 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& ) */ - Toolkit::ControlRenderer GetControlRenderer( const Property::Map& propertyMap ); + Toolkit::ControlRenderer GetControlRenderer( const Property::Map& propertyMap ); + + /** + * @copydoc Toolkit::RenderFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Property::Map& propertyMap ) + */ + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Property::Map& propertyMap ); /** * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Vector4& ) @@ -60,14 +80,14 @@ public: Toolkit::ControlRenderer GetControlRenderer( const Vector4& color ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const Vector4& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const Vector4& ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Vector4& color ); + 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& ) @@ -75,19 +95,25 @@ public: Toolkit::ControlRenderer GetControlRenderer( const Image& image ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const Image& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const Image& ) + */ + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Image& image ); + + /** + * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string&, ImageDimensions ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Image& image ); + Toolkit::ControlRenderer GetControlRenderer( const std::string& image, ImageDimensions size ); /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const std::string&, ImageDimensions ) */ - Toolkit::ControlRenderer GetControlRenderer( const std::string& image ); + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const std::string& image, ImageDimensions size ); +public: /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const std::string& ) + * @brief Returns an image to be used when a renderer has failed to correctly render */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const std::string& image ); + static Image GetBrokenRendererImage(); protected: @@ -99,6 +125,19 @@ 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(); + + /** * Undefined copy constructor. */ RendererFactory(const RendererFactory&); @@ -111,6 +150,8 @@ private: private: RendererFactoryCachePtr mFactoryCache; + ImageAtlasManagerPtr mAtlasManager; + bool mDebugEnabled; }; } // namespace Internal