X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-factory-cache.h;h=a62dfb4845310bd46558359b02de267eaf5ea6f4;hp=7f13da6416ef7aaa3ef20067a99c86e811f1ce10;hb=c0f19460b99fc0253297831f0807b03d3ea6901d;hpb=1ca52aef22e9773df18156c5477dc2f278a643ba diff --git a/dali-toolkit/internal/visuals/visual-factory-cache.h b/dali-toolkit/internal/visuals/visual-factory-cache.h index 7f13da6..a62dfb4 100644 --- a/dali-toolkit/internal/visuals/visual-factory-cache.h +++ b/dali-toolkit/internal/visuals/visual-factory-cache.h @@ -47,7 +47,7 @@ typedef IntrusivePtr ImageAtlasManagerPtr; /** * Caches shaders and geometries. Owned by VisualFactory. */ -class VisualFactoryCache : public RefObject +class VisualFactoryCache { public: @@ -67,6 +67,7 @@ public: IMAGE_SHADER_ATLAS_DEFAULT_WRAP, IMAGE_SHADER_ATLAS_CUSTOM_WRAP, NINE_PATCH_SHADER, + NINE_PATCH_MASK_SHADER, SVG_SHADER, TEXT_SHADER_MULTI_COLOR_TEXT, TEXT_SHADER_MULTI_COLOR_TEXT_WITH_STYLE, @@ -107,8 +108,15 @@ public: /** * @brief Constructor + * + * @param[in] preMultiplyOnLoad True if image visuals should pre-multiply alpha on image load. */ - VisualFactoryCache(); + VisualFactoryCache( bool preMultiplyOnLoad ); + + /** + * @brief Destructor + */ + ~VisualFactoryCache(); /** * Request geometry of the given type. @@ -153,7 +161,23 @@ public: * @brief Returns an image to be used when a visual has failed to correctly render * @return The broken image handle. */ - static Image GetBrokenVisualImage(); + Image GetBrokenVisualImage(); + + /** + * @copydoc Toolkit::VisualFactory::SetPreMultiplyOnLoad() + */ + void SetPreMultiplyOnLoad( bool preMultiply ); + + /** + * @copydoc Toolkit::VisualFactory::GetPreMultiplyOnLoad() + */ + bool GetPreMultiplyOnLoad(); + + /** + * @brief Set an image to be used when a visual has failed to correctly render + * @param[in] brokenImageUrl The broken image url. + */ + void SetBrokenImageUrl(const std::string& brokenImageUrl); public: /** @@ -190,11 +214,6 @@ private: // for svg rasterization thread protected: /** - * A reference counted object may only be deleted by calling Unreference() - */ - virtual ~VisualFactoryCache(); - - /** * Undefined copy constructor. */ VisualFactoryCache(const VisualFactoryCache&); @@ -212,6 +231,8 @@ private: TextureManager mTextureManager; NPatchLoader mNPatchLoader; SvgRasterizeThread* mSvgRasterizeThread; + std::string mBrokenImageUrl; + bool mPreMultiplyOnLoad; }; } // namespace Internal