X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fvisual-factory%2Fvisual-factory.h;h=0a8675496c20aebf1f0df3cdf71274c2c0a5b071;hb=8bd30b68a677d5ecb5077ac97331e5ebf2f0f15e;hp=677f68382112a8ea97a4e90572e583dfab2cb484;hpb=99e2ea03e6d6059f5803d700932df1ff1c848cd3;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 677f683..0a86754 100644 --- a/dali-toolkit/devel-api/visual-factory/visual-factory.h +++ b/dali-toolkit/devel-api/visual-factory/visual-factory.h @@ -1,7 +1,8 @@ -#ifndef __DALI_TOOLKIT_RENDERER_FACTORY_H__ -#define __DALI_TOOLKIT_RENDERER_FACTORY_H__ +#ifndef DALI_TOOLKIT_VISUAL_FACTORY_H +#define DALI_TOOLKIT_VISUAL_FACTORY_H + /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -28,7 +29,7 @@ namespace Dali { class Image; -class Vector4; +struct Vector4; namespace Toolkit { @@ -45,11 +46,12 @@ class VisualFactory; * * The visual type is required in the property map for requesting a visual. * - * | %Property Name | Type | - * |--------------------------|------------------| - * | rendererType | STRING | + * | %Property Name | Type | + * |--------------------------|-------------------| + * | visualType | INTEGER or STRING | + * | shader | MAP | */ -class DALI_IMPORT_API VisualFactory : public BaseHandle +class DALI_TOOLKIT_API VisualFactory : public BaseHandle { public: @@ -92,9 +94,9 @@ public: /** * @brief Request the visual * - * @param[in] propertyMap The map contains the properties required by the control renderer - * Depends on the content of the map, different kind of renderer would be returned. - * @return The pointer pointing to visual + * @param[in] propertyMap The map contains the properties required by the visual. + * 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 ); @@ -115,58 +117,33 @@ public: */ Visual::Base CreateVisual( const std::string& url, ImageDimensions size ); + /** + * @brief Enable or disable premultiplying alpha in images and image visuals. + * + * The default is to enable pre-multiplication on load. + * + * Applications that have assets with pre-multiplied alpha already applied should turn this option off. + * + * @param[in] preMultiply True if loaded images for image visuals should have alpha multiplied into the color + * channels. + */ + void SetPreMultiplyOnLoad( bool preMultiply ); + + /** + * @brief Get the setting for automatically pre-multiplying image visual images on load. + * + * @return True if loaded images have pre-multiplied alpha applied on load, false otherwise. + */ + bool GetPreMultiplyOnLoad() const; + private: explicit DALI_INTERNAL VisualFactory(Internal::VisualFactory *impl); }; - -/** - * @brief Template to allow discard old visual, get new one and set it on stage if possible - * - * @tparam ParameterType0 The type of first argument passed to the CreateVisual() - * @tparam ParameterType1 The type of second argument passed to the CreateVisual() - * @SINCE_1_0.39 - * @param[in] actor Actor for which the renderer will be replaced - * @param[in,out] visual The visual to be replaced - * @param[in] param0 First template based argument passed to the renderer factory - * @param[in] param1 Second template based argument passed to the renderer factory - */ -template< class ParameterType0, class ParameterType1 > -void InitializeVisual( Actor& actor, Visual::Base& visual, ParameterType0& param0, ParameterType1& param1 ) -{ - visual.RemoveAndReset( actor ); - visual = Toolkit::VisualFactory::Get().CreateVisual( param0, param1 ); - if( visual && actor && actor.OnStage() ) - { - visual.SetOnStage( actor ); - } -} - -/** - * @brief Template to allow discard old visual, get new one and set it on stage if possible - * - * @tparam ParameterType The type of argument passed to the CreateVisual() - * @SINCE_1_0.39 - * @param[in] actor Actor for which the renderer will be replaced - * @param[in,out] visual The visual to be replaced - * @param[in] param Template based argument passed to the renderer factory - */ -template< class ParameterType > -void InitializeVisual( Actor& actor, Visual::Base& visual, ParameterType& param ) -{ - visual.RemoveAndReset( actor ); - visual = Toolkit::VisualFactory::Get().CreateVisual( param ); - if( visual && actor && actor.OnStage() ) - { - visual.SetOnStage( actor ); - } -} - } // namespace Toolkit } // namespace Dali - -#endif /* __DALI_TOOLKIT_RENDERER_FACTORY_H__ */ +#endif // DALI_TOOLKIT_VISUAL_FACTORY_H