2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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.
19 * @file FUiAnimTypes.h
20 * @brief This is the header file for the common data types used by UI animations.
22 * This header file contains the declarations of the common data types and constants used by UI animations.
25 #ifndef _FUI_ANIM_TYPES_H_
26 #define _FUI_ANIM_TYPES_H_
29 namespace Tizen { namespace Ui { namespace Animations
33 /** @enum HitTestResult
35 * Defines the hit test result.
38 * @see IVisualElementContentProvider::HitTest()
39 * @see VisualElement::OnHitTest()
42 HIT_TEST_NOWHERE = 0, /**< VisualElement does not contain the specified point */
43 HIT_TEST_MATCH = 1 /**< VisualElement contains the specified point */
52 * Defines the information of the animation type.
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 */
68 * @enum AnimationInterpolatorType
70 * Defines the interpolator type used in animations.
74 enum AnimationInterpolatorType
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(). */
87 * @enum AnimationTargetType
89 * Defines the object property for which the animations are to be applied.
93 enum AnimationTargetType
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.
106 * @enum AnimatorStatus
108 * Defines the status of the animations attached to a control.
114 ANIMATOR_STATUS_PLAYING, /**< The animation being played */
115 ANIMATOR_STATUS_STOPPED, /**< The animation stopped */
120 * @enum AnimationGroupType
122 * Defines the animation group type information.
126 enum AnimationGroupType
128 ANIMATION_GROUP_TYPE_SEQUENTIAL = 0, /** The sequential animation group */
129 ANIMATION_GROUP_TYPE_PARALLEL, /** The parallel animation group */
134 * @enum AnimationTransactionStatus
136 * Defines the transaction status of the animation.
139 enum AnimationTransactionStatus
141 ANIMATION_TRANSACTION_STATUS_PLAYING, /**< A transaction being played */
142 ANIMATION_TRANSACTION_STATUS_STOPPED, /**< A transaction stopped */
147 * @enum ControlAnimatorTriggerType
149 * Defines the trigger for animations attached to a control.
153 enum ControlAnimatorTriggerType
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 */
164 * @enum FrameAnimatorFormTransitionAnimation
166 * Defines the platform predefined animation set for the animation events.
170 enum FrameAnimatorFormTransitionAnimation
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.
184 }}} // Tizen::Ui::Animations
186 #endif // _FUI_ANIMATIONS_TYPES_H_