[dali_2.3.23] Merge branch 'devel/master'
[platform/core/uifw/dali-core.git] / dali / devel-api / animation / animation-devel.h
1 #ifndef DALI_ANIMATION_DEVEL_H
2 #define DALI_ANIMATION_DEVEL_H
3
4 /*
5  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
6  *
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali/public-api/animation/animation.h>
23
24 namespace Dali
25 {
26 namespace DevelAnimation
27 {
28 /**
29  * @brief Set progress percentage marker to trigger ProgressHasBeenReachedSignal
30  *
31  * @param[in] animation the animation object to perform this operation on
32  * @param[in] progress the progress percentage to trigger the signal at, e.g .3 for 30%.
33  */
34 DALI_CORE_API void SetProgressNotification(Animation animation, float progress);
35
36 /**
37  * @brief Get progress percentage marker that has been set to trigger ProgressHasBeenReachedSignal
38  *
39  * @param[in] animation the animation object to perform this operation on
40  * @return the percentage to trigger at eg 0.3 for 30%
41  */
42 DALI_CORE_API float GetProgressNotification(Animation animation);
43
44 /**
45  * @brief Connects to this signal to be notified when an Animation's animations have reached set progress.
46  *
47  * @return A signal object to connect with
48  */
49 DALI_CORE_API Animation::AnimationSignalType& ProgressReachedSignal(Animation animation);
50
51 /**
52  * @brief Retrive the number of Animations.
53  *
54  * @return The number of Animations.
55  */
56 DALI_CORE_API uint32_t GetAnimationCount();
57
58 /**
59  * @brief Retrieve an Animation by index.
60  *
61  * @param[in] index The index of the Animation to retrieve
62  * @return The animation for the given index or empty handle
63  */
64 DALI_CORE_API Animation GetAnimationAt(uint32_t index);
65
66 } // namespace DevelAnimation
67
68 } // namespace Dali
69
70 #endif // DALI_ANIMATION_DEVEL_H