1 #ifndef DALI_ANIMATION_DEVEL_H
2 #define DALI_ANIMATION_DEVEL_H
5 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/public-api/animation/animation.h>
27 namespace DevelAnimation
31 * @brief Enumeration for what looping mode is in.
35 RESTART, ///< When the animation arrives at the end in looping mode, the animation restarts from the beginning.
36 AUTO_REVERSE ///< When the animation arrives at the end in looping mode, the animation reverses direction and runs backwards again.
40 * @brief Set progress percentage marker to trigger ProgressHasBeenReachedSignal
42 * @param[in] animation the animation object to perform this operation on
43 * @param[in] progress the progress percentage to trigger the signal at, e.g .3 for 30%.
45 DALI_IMPORT_API void SetProgressNotification( Animation animation, float progress );
48 * @brief Get progress percentage marker that has been set to trigger ProgressHasBeenReachedSignal
50 * @param[in] animation the animation object to perform this operation on
51 * @return the percentage to trigger at eg 0.3 for 30%
53 DALI_IMPORT_API float GetProgressNotification( Animation animation );
56 * @brief Connects to this signal to be notified when an Animation's animations have reached set progress.
58 * @return A signal object to connect with
61 DALI_IMPORT_API Animation::AnimationSignalType& ProgressReachedSignal( Animation animation );
64 * @brief Play the animation after a given delay time.
66 * The delay time is not included in the looping time.
67 * When the delay time is negative value, it would treat as play immediately.
68 * @param[in] animation The animation object to perform this operation on
69 * @param[in] delaySeconds The delay time
71 DALI_IMPORT_API void PlayAfter( Animation animation, float delaySeconds );
74 * @brief Sets the looping mode.
76 * Animation plays forwards and then restarts from the beginning or runs backwards again.
77 * @param[in] animation The animation object to perform this operation on
78 * @param[in] loopingMode The looping mode is one of RESTART and AUTO_REVERSE
80 DALI_IMPORT_API void SetLoopingMode( Animation animation, LoopingMode loopingMode );
83 * @brief Gets one of the current looping mode.
85 * @param[in] animation The animation object to perform this operation on
86 * @return The current looping mode
88 DALI_IMPORT_API LoopingMode GetLoopingMode( Animation animation );
90 } // namespace DevelAnimation
94 #endif // DALI_ANIMATION_DEVEL_H