X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Fanimation%2Fkey-frames.h;h=d7bafc74193b835e59bcad45e20c9511d4481698;hb=adae31cf70bdeed19789edc694d4baaf2fc67f21;hp=2978ab7de6e4245b0087a82a04d5371500bea685;hpb=8f2c7a1c1ad470b02521b862607a60d966e217f1;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/public-api/animation/key-frames.h b/dali/public-api/animation/key-frames.h index 2978ab7..d7bafc7 100644 --- a/dali/public-api/animation/key-frames.h +++ b/dali/public-api/animation/key-frames.h @@ -1,8 +1,8 @@ -#ifndef __DALI_KEY_FRAMES_H__ -#define __DALI_KEY_FRAMES_H__ +#ifndef DALI_KEY_FRAMES_H +#define DALI_KEY_FRAMES_H /* - * Copyright (c) 2014 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,13 +19,17 @@ */ // INTERNAL INCLUDES -#include +#include #include -#include #include +#include namespace Dali { +/** + * @addtogroup dali_core_animation + * @{ + */ namespace Internal DALI_INTERNAL { @@ -39,94 +43,126 @@ class KeyFrames; * Property::Values. The type of the key frame is specified by the * type of the first value to be added. Adding key frames with a * different Property::Value type will result in a run time assert. + * @SINCE_1_0.0 */ -class DALI_IMPORT_API KeyFrames : public BaseHandle +class DALI_CORE_API KeyFrames : public BaseHandle { public: /** - * @brief Create an initialized KeyFrame handle. + * @brief Creates an initialized KeyFrames handle. * - * @return a handle to a newly allocated Dali resource. + * @SINCE_1_0.0 + * @return A handle to a newly allocated Dali resource */ static KeyFrames New(); /** - * @brief Downcast an Object handle to KeyFrames handle. + * @brief Downcasts a handle to KeyFrames handle. * - * If handle points to a KeyFrames object the downcast produces - * valid handle. If not the returned handle is left uninitialized. - * @param[in] handle to An object - * @return handle to a KeyFrames object or an uninitialized handle + * If handle points to a KeyFrames object, the downcast produces valid handle. + * If not, the returned handle is left uninitialized. + * @SINCE_1_0.0 + * @param[in] handle Handle to an object + * @return Handle to a KeyFrames object or an uninitialized handle */ - static KeyFrames DownCast( BaseHandle handle ); + static KeyFrames DownCast(BaseHandle handle); /** - * @brief Create an uninitialized KeyFrame handle. + * @brief Creates an uninitialized KeyFrame handle. * - * This can be initialized with KeyFrame::New(). Calling member - * functions with an uninitialized Dali::Object is not allowed. + * This can be initialized with KeyFrame::New(). + * Calling member functions with an uninitialized KeyFrames handle is not allowed. + * @SINCE_1_0.0 */ KeyFrames(); /** - * @brief Destructor + * @brief Destructor. * * This is non-virtual since derived Handle types must not contain data or virtual methods. + * @SINCE_1_0.0 */ ~KeyFrames(); /** * @brief This copy constructor is required for (smart) pointer semantics. * - * @param [in] handle A reference to the copied handle + * @SINCE_1_0.0 + * @param[in] handle A reference to the copied handle */ KeyFrames(const KeyFrames& handle); /** * @brief This assignment operator is required for (smart) pointer semantics. * - * @param [in] rhs A reference to the copied handle + * @SINCE_1_0.0 + * @param[in] rhs A reference to the copied handle * @return A reference to this */ KeyFrames& operator=(const KeyFrames& rhs); /** + * @brief Move constructor. + * + * @SINCE_1_9.22 + * @param[in] rhs A reference to the moved handle + */ + KeyFrames(KeyFrames&& rhs) noexcept; + + /** + * @brief Move assignment operator. + * + * @SINCE_1_9.22 + * @param[in] rhs A reference to the moved handle + * @return A reference to this + */ + KeyFrames& operator=(KeyFrames&& rhs) noexcept; + + /** * @brief Gets the type of the key frame. * * If no key frames have been added, this returns Property::NONE. - * @return The key frame property type. + * @SINCE_1_0.0 + * @return The key frame property type */ Property::Type GetType() const; /** - * @brief Add a key frame. + * @brief Adds a key frame. * * The key frames should be added in time order. - * @param[in] progress A value between 0.0 and 1.0. - * @param[in] value A value. + * @SINCE_1_0.0 + * @param[in] progress A progress value between 0.0 and 1.0 + * @param[in] value A value */ void Add(float progress, Property::Value value); /** - * @brief Add a key frame. + * @brief Adds a key frame. * * The key frames should be added in time order. - * @param[in] progress A value between 0.0 and 1.0. - * @param[in] value A value. + * @SINCE_1_0.0 + * @param[in] progress A progress value between 0.0 and 1.0 + * @param[in] value A value * @param[in] alpha The alpha function used to blend to the next keyframe */ void Add(float progress, Property::Value value, AlphaFunction alpha); - public: // Not intended for application developers + /// @cond internal /** - * @brief This constructor is used by Dali::New() methods. + * @brief This constructor is used by KeyFrames::New() methods. * + * @SINCE_1_0.0 * @param[in] keyFrames A pointer to an internal KeyFrame resource */ explicit DALI_INTERNAL KeyFrames(Internal::KeyFrames* keyFrames); + /// @endcond }; +/** + * @} + */ } // namespace Dali -#endif // __DALI_KEY_FRAMES_H__ +#endif // DALI_KEY_FRAMES_H