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 FUiAnim_AnimationGroupImpl.h
20 * @brief This is the header file for the _AnimationGroupImpl class.
22 * This header file contains the declarations of the _AnimationGroupImpl class. @n
25 #ifndef _FUI_ANIM_INTERNAL_ANIMATION_GROUP_IMPL_H_
26 #define _FUI_ANIM_INTERNAL_ANIMATION_GROUP_IMPL_H_
28 #include <FBaseColIList.h>
29 #include <FBaseColIMapT.h>
31 #include <FUiAnimAnimationGroup.h>
34 namespace Tizen { namespace Ui { namespace Animations
38 * @class _AnimationGroupImpl
39 * @brief This is the header file for the _AnimationGroupImpl class.
42 * This header file contains the declarations of the _AnimationGroupImpl class. @n
45 class _AnimationGroupImpl
46 : public Tizen::Base::Object
50 * This is the destructor for this class.
54 ~_AnimationGroupImpl(void);
57 * This is the constructor for this class.
61 _AnimationGroupImpl(AnimationGroup* pAnimationGroup);
64 * Initializes this instance of _AnimationGroupImpl with the specified parameters.
67 * @return An error code
68 * @exception E_SUCCESS The method was successful.
69 * @exception E_SYSTEM Failed to construct.
71 result Construct(void);
74 * Frees the resources allocated by this _AnimationGroupImpl instance.
77 * @return An error code
78 * @exception E_SUCCESS The method was successful.
79 * @exception E_SYSTEM Failed to free the resource possessed by this instance.
84 * Returns a copy of %AnimationBase object.
86 * @return An error code
87 * @param[in] animTarget Property to be animated.
88 * @param[in] animationBase An object of type %AnimationBase whose copy is to be created
89 * @param[out] res Error code
90 * @exception null If the passed argument is invalid.
92 AnimationBase* CloneAnimation(AnimationTargetType animTarget, AnimationBase& animationBase, result& res);
96 * Structure Used For Storing Animations
100 AnimationTargetType animTarget;
101 AnimationBase* pAnimationBase;
104 animTarget = ANIMATION_TARGET_NONE;
105 pAnimationBase = null;
107 ~AnimationStore(void)
111 bool operator ==(const AnimationStore& animStore) const;
112 bool operator !=(const AnimationStore& animStore) const;
116 * The List maintaining the animations
118 Tizen::Base::Collection::ArrayListT< AnimationStore > animationList;
122 // This method is for internal use only. Using this method can cause behavioral, security-related,
123 // and consistency-related issues in the application.
125 // This is the assignment operator for this class.
129 _AnimationGroupImpl& operator =(const _AnimationGroupImpl&);
132 // This method is for internal use only. Using this method can cause behavioral, security-related,
133 // and consistency-related issues in the application.
135 // This is the copy constructor for this class.
139 _AnimationGroupImpl(const _AnimationGroupImpl& animationBaseImpl);
142 // This variable is for internal use only. Using this variable can cause behavioral, security-related,
143 // and consistency-related issues in the application.
147 Tizen::Ui::Animations::AnimationGroup* __pAnimationGroup;
149 }; // _AnimationGroupImpl
151 }}} // Tizen::Ui::Animations
153 #endif //_FUI_ANIM_INTERNAL_ANIMATION_GROUP_IMPL_H_