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=99ef2b86d05d2c967221b98a5f248e55ef1ea64e;hpb=5734cf75b7a9c52fd823eac303f5c0c75167059a;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 99ef2b8..b9d5cf1 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h @@ -36,18 +36,33 @@ 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& ) @@ -55,9 +70,9 @@ public: Toolkit::ControlRenderer GetControlRenderer( const Property::Map& propertyMap ); /** - * @copydoc Toolkit::RenderFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, const Property::Map& propertyMap ) + * @copydoc Toolkit::RenderFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Property::Map& propertyMap ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Property::Map& propertyMap ); + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Property::Map& propertyMap ); /** * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Vector4& ) @@ -65,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& ) @@ -80,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& ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Image& image ); + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Image& image ); /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string& ) + * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string&, ImageDimensions ) */ - Toolkit::ControlRenderer GetControlRenderer( const std::string& image ); + Toolkit::ControlRenderer GetControlRenderer( const std::string& image, ImageDimensions size ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const std::string& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const std::string&, ImageDimensions ) + */ + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const std::string& image, ImageDimensions size ); + +public: + /** + * @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: @@ -104,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&); @@ -116,6 +150,8 @@ private: private: RendererFactoryCachePtr mFactoryCache; + ImageAtlasManagerPtr mAtlasManager; + bool mDebugEnabled; }; } // namespace Internal