Fix to adjust the position of the partial Frame
[platform/framework/native/uifw.git] / inc / FUiAnimTypes.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file    FUiAnimTypes.h
20  * @brief   This is the header file for the common data types used by UI animations.
21  *
22  * This header file contains the declarations of the common data types and constants used by UI animations.
23  */
24
25 #ifndef _FUI_ANIM_TYPES_H_
26 #define _FUI_ANIM_TYPES_H_
27
28
29 namespace Tizen { namespace Ui { namespace Animations
30 {
31
32
33 /** @enum HitTestResult
34  *
35  * Defines the hit test result.
36  *
37  * @since               2.0
38  * @see IVisualElementContentProvider::HitTest()
39  * @see VisualElement::OnHitTest()
40  */
41 enum HitTestResult {
42         HIT_TEST_NOWHERE = 0,                   /**< VisualElement does not contain the specified point */
43         HIT_TEST_MATCH = 1                      /**< VisualElement contains the specified point */
44 };
45
46
47
48
49 /**
50  * @enum        AnimationType
51  *
52  * Defines the information of the animation type.
53  *
54  * @since       2.0
55  */
56 enum AnimationType
57 {
58         ANIMATION_TYPE_FLOAT_ANIMATION = 0,     /**< The float animation */
59         ANIMATION_TYPE_INTEGER_ANIMATION,       /**< The integer animation */
60         ANIMATION_TYPE_DIMENSION_ANIMATION,     /**< The dimension animation */
61         ANIMATION_TYPE_RECTANGLE_ANIMATION,     /**< The rectangle animation */
62         ANIMATION_TYPE_POINT_ANIMATION,         /**< The point animation */
63         ANIMATION_TYPE_ROTATE_ANIMATION,        /**< The rotate animation */
64 };
65
66
67 /**
68  * @enum        AnimationInterpolatorType
69  *
70  * Defines the interpolator type used in animations.
71  *
72  * @since       2.0
73  */
74 enum AnimationInterpolatorType
75 {
76         ANIMATION_INTERPOLATOR_LINEAR = 0,      /**< The linear interpolator */
77         ANIMATION_INTERPOLATOR_DISCRETE,        /**< The discrete interpolator*/
78         ANIMATION_INTERPOLATOR_EASE_IN,         /**< The easeIn interpolator*/
79         ANIMATION_INTERPOLATOR_EASE_OUT,        /**< The easeOut interpolator*/
80         ANIMATION_INTERPOLATOR_EASE_IN_OUT,     /**< The easeInOut interpolator*/
81         ANIMATION_INTERPOLATOR_BEZIER,          /**< The bezier interpolator @n
82                                                                  Sets the control points for this interpolator using AnimationBase::SetBezierControlPoints(). */
83 };
84
85
86 /**
87  * @enum        AnimationTargetType
88  *
89  * Defines the object property for which the animations are to be applied.
90  *
91  * @since       2.0
92  */
93 enum AnimationTargetType
94 {
95         ANIMATION_TARGET_NONE = -1,     /**< An invalid %Animation */
96         ANIMATION_TARGET_SIZE,          /**< An animation for the size property */
97         ANIMATION_TARGET_POSITION,      /**< An animation for the position property */
98         ANIMATION_TARGET_ALPHA,         /**< An animation for alpha property @n The value range for playing the alpha animation must be between @c 0.0 to @c 1.0. */
99         ANIMATION_TARGET_ROTATION,      /**< An animation for rotate property @n The control will be rotated in the xy-plane along the z-axis. */
100         ANIMATION_TARGET_MAX            // This enum value is for internal use only.
101                                                                         // Using this enum value can cause behavioral, security-related, and consistency-related issues in the application.
102 };
103
104
105 /**
106  * @enum        AnimatorStatus
107  *
108  * Defines the status of the animations attached to a control.
109  *
110  * @since       2.0
111  */
112 enum AnimatorStatus
113 {
114         ANIMATOR_STATUS_PLAYING,        /**< The animation being played */
115         ANIMATOR_STATUS_STOPPED,        /**< The animation stopped */
116 };
117
118
119 /**
120 * @enum      AnimationGroupType
121 *
122 * Defines the animation group type information.
123 *
124 * @since 2.0
125 */
126 enum AnimationGroupType
127 {
128         ANIMATION_GROUP_TYPE_SEQUENTIAL = 0,         /** The sequential animation group */
129         ANIMATION_GROUP_TYPE_PARALLEL,               /** The parallel animation group */
130 };
131
132
133 /**
134  * @enum        AnimationTransactionStatus
135  *
136  * Defines the transaction status of the animation.
137  * @since       2.0
138  */
139 enum AnimationTransactionStatus
140 {
141         ANIMATION_TRANSACTION_STATUS_PLAYING,       /**< A transaction being played */
142         ANIMATION_TRANSACTION_STATUS_STOPPED,       /**< A transaction stopped */
143 };
144
145
146 /**
147  * @enum        ControlAnimatorTriggerType
148  *
149  * Defines the trigger for animations attached to a control.
150  *
151  * @since       2.0
152  */
153 enum ControlAnimatorTriggerType
154 {
155         ANIMATION_TRIGGER_USER = 0,             /**< The animation attached to a control is explicitly triggered by the user */
156         ANIMATION_TRIGGER_POSITION_CHANGE,      /**< The animation attached to a control is implicitly triggered by changing the position of the control */
157         ANIMATION_TRIGGER_SIZE_CHANGE,          /**< The animation attached to a control is implicitly triggered by changing the size of the control */
158         ANIMATION_TRIGGER_SHOW_STATE_CHANGE,    /**< The animation attached to a control is implicitly triggered by changing the showstate of the control */
159 };
160
161
162
163 /**
164  * @enum        FrameAnimatorFormTransitionAnimation
165  *
166  * Defines the platform predefined animation set for the animation events.
167  *
168  * @since       2.0
169  */
170 enum FrameAnimatorFormTransitionAnimation
171 {
172         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_TRANSLATE_LEFT = 0,    /**< The transition animation using translate left animation */
173         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_TRANSLATE_RIGHT,       /**< The transition animation using translate right animation */
174         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_FADE_IN_OUT,           /**< The transition animation using alpha animation */
175         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_ZOOM_IN,               /**< The transition animation using scale animation */
176         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_ZOOM_OUT,              /**< The transition animation using scale animation */
177         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_DEPTH_IN,              /**< The transition animation using scale and alpha animation */
178         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_DEPTH_OUT,             /**< The transition animation using scale and alpha animation */
179         FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_MAX                    // This enum value is for internal use only. Using this enum value can cause behavioral, security-related,
180                                                                                                                                 // and consistency-related issues in the application.
181 };
182
183
184 }}} // Tizen::Ui::Animations
185
186 #endif // _FUI_ANIMATIONS_TYPES_H_