X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fvisual-factory%2Fvisual-factory.h;h=bf861f7460d4a6bb4c1ff6447296a70445b7a88e;hb=8aa5ae787e14584ef1d338d1b3be9b2ee0b6097b;hp=454919aaacf5019202ccac846a35d70a2fc28063;hpb=9eecb41468197eb2fc03e55c151011ea387e1bed;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/devel-api/visual-factory/visual-factory.h b/dali-toolkit/devel-api/visual-factory/visual-factory.h index 454919a..bf861f7 100644 --- a/dali-toolkit/devel-api/visual-factory/visual-factory.h +++ b/dali-toolkit/devel-api/visual-factory/visual-factory.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_VISUAL_FACTORY_H /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,8 +19,8 @@ */ // EXTERNAL INCLUDES -#include #include +#include #include // INTERNAL INCLUDES @@ -29,11 +29,10 @@ namespace Dali { class Image; -class Vector4; +struct Vector4; namespace Toolkit { - namespace Internal DALI_INTERNAL { class VisualFactory; @@ -54,7 +53,6 @@ class VisualFactory; class DALI_TOOLKIT_API VisualFactory : public BaseHandle { public: - /** * @brief Create or retrieve VisualFactory singleton. * @@ -81,7 +79,7 @@ public: * * @param[in] handle A reference to the copied handle. */ - VisualFactory( const VisualFactory& handle ); + VisualFactory(const VisualFactory& handle); /** * @brief This assignment operator is required for (smart) pointer semantics. @@ -89,7 +87,7 @@ public: * @param [in] handle A reference to the copied handle. * @return A reference to this. */ - VisualFactory& operator=( const VisualFactory& handle ); + VisualFactory& operator=(const VisualFactory& handle); /** * @brief Request the visual @@ -98,15 +96,7 @@ public: * The content of the map determines the type of visual that will be returned. * @return The handle to the created visual */ - Visual::Base CreateVisual( const Property::Map& propertyMap ); - - /** - * @brief Request the visual to render the image. - * - * @param[in] image The image to be rendered. - * @return The pointer pointing to the visual - */ - Visual::Base CreateVisual( const Image& image ); + Visual::Base CreateVisual(const Property::Map& propertyMap); /** * @brief Request the visual to render the given resource at the url. @@ -115,7 +105,7 @@ public: * @param[in] size The width and height to fit the loaded image to. * @return The pointer pointing to the visual */ - Visual::Base CreateVisual( const std::string& url, ImageDimensions size ); + Visual::Base CreateVisual(const std::string& url, ImageDimensions size); /** * @brief Enable or disable premultiplying alpha in images and image visuals. @@ -127,7 +117,7 @@ public: * @param[in] preMultiply True if loaded images for image visuals should have alpha multiplied into the color * channels. */ - void SetPreMultiplyOnLoad( bool preMultiply ); + void SetPreMultiplyOnLoad(bool preMultiply); /** * @brief Get the setting for automatically pre-multiplying image visual images on load. @@ -136,10 +126,19 @@ public: */ bool GetPreMultiplyOnLoad() const; -private: - - explicit DALI_INTERNAL VisualFactory(Internal::VisualFactory *impl); + /** + * @brief Compile the visual shader in advance. Afterwards, + * when a visual using a new shader is requested, the pre-compiled shader is used. + * + * @note It is recommended that this method be called at the top of the application code. + * @note Using precompiled shaders is helpful when the application is complex and uses + * many different styles of visual options. On the other hand,if most visuals are the same + * and the application is simple, it may use memory unnecessarily or slow down the application launching speed. + */ + void UsePreCompiledShader(); +private: + explicit DALI_INTERNAL VisualFactory(Internal::VisualFactory* impl); }; } // namespace Toolkit