X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol-impl.h;h=48c6b9c54ad08b1bd25cac623195c7d40c08f8cb;hb=fb87251cfeff34418a36798700b81786e522018a;hp=6717f5b7962a032c55339eb8965554024f7ab32b;hpb=f11be450471738b68f98fa4c552b3a22482ae4de;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/public-api/controls/control-impl.h b/dali-toolkit/public-api/controls/control-impl.h index 6717f5b..48c6b9c 100644 --- a/dali-toolkit/public-api/controls/control-impl.h +++ b/dali-toolkit/public-api/controls/control-impl.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_CONTROL_IMPL_H /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -20,6 +20,8 @@ // EXTERNAL INCLUDES #include +#include +#include #include #include #include @@ -43,6 +45,7 @@ class StyleManager; namespace Internal { + /** * @brief This is the internal base class for all controls. * @@ -251,6 +254,7 @@ public: DALI_INTERNAL void KeyboardEnter(); /// @endcond + // Signals /** @@ -614,6 +618,50 @@ public: // API for derived classes to override return NULL; } + // Transition APIs + + /** + * @brief Make visual transition from source control to destination control about specific Visual. + * If both of source and destination control have same visual index, than generates information for the transition of this Control. + * + * @param[out] sourcePropertyMap Source property map to be applied on this Control. + * @param[out] destinationPropertyMap Destination property map to be applied on this Control. + * @param[in] source Source control of the animation. + * @param[in] destination Destination control of the animation. + * @param[in] visualIndex Property::Index to make animation. + */ + void MakeVisualTransition(Dali::Property::Map& sourcePropertyMap, Dali::Property::Map& destinationPropertyMap, + Dali::Toolkit::Control source, Dali::Toolkit::Control destination, Dali::Property::Index visualIndex); + + /** + * @brief Retrieves source and destination visual properties for the Transition of this Control. + * The properties of this Control will be transitioned from the propeties of source Control to that of destination control. + * If a property value is different between source and destination Control, + * the property information of each Control will be included in sourceProperties and destinationProperties. + * + * @param[out] sourceProperties Source property list to be applied on this Control. + * @param[out] destinationProperties Destination property list to be applied on this Control. + * @param[in] source Source control of the animation. + * @param[in] destination Destination control of the animation. + * + * @note This method do not handle Actor properties. + * And the size and order of the sourceProperties and destinationProperties must be synchronized. + */ + virtual void OnCreateTransitions(std::vector>& sourceProperties, + std::vector>& destinationProperties, + Dali::Toolkit::Control source, + Dali::Toolkit::Control destination) + { + } + + /** + * @brief Update visual properties. + * @param[in] properties Property list to be used to update visual properties of this Control. + */ + virtual void OnUpdateVisualProperties(const std::vector>& properties) + { + } + private: /// @cond internal