Fixed to add the AllWindowList
[platform/framework/native/uifw.git] / inc / FUiAnimAnimationGroup.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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        FUiAnimAnimationGroup.h
20  * @brief       This is the header file for the %AnimationGroup class.
21  *
22  * This header file contains the declarations of the %AnimationGroup class and its helper classes.
23  */
24
25 #ifndef _FUI_ANIM_ANIMATION_GROUP_H_
26 #define _FUI_ANIM_ANIMATION_GROUP_H_
27
28 #include <FBaseTypes.h>
29 #include <FBaseObject.h>
30 #include <FUiAnimTypes.h>
31 #include <FUiAnimAnimationBase.h>
32
33 namespace Tizen { namespace Ui { namespace Animations
34 {
35
36 /**
37  * @class       AnimationGroup
38  * @brief       This class is used to group a set of animations together.
39  *
40  * @since       2.0
41  *
42  * The %AnimationGroup class is used to group a set of animations together.
43  *
44  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/animating_uicontrols.htm">Animating UI Controls</a>.
45  */
46 class _OSP_EXPORT_ AnimationGroup
47         : public Tizen::Base::Object
48 {
49 public:
50
51         /**
52          * This is the destructor for this class.
53          *
54          * @since       2.0
55          */
56         virtual ~AnimationGroup(void);
57
58
59         /**
60          * Removes all the animations from the animation group.
61          *
62          * @since       2.0
63          */
64         virtual void RemoveAllAnimations(void) = 0;
65
66
67         /**
68          * Gets the animation count value.
69          *
70          * @since               2.0
71          *
72          * @return      The total number of animations added to the group
73          */
74         virtual int GetAnimationCount(void) const = 0;
75
76
77         /**
78          * Gets the type information of this instance.
79          *
80          * @since      2.0
81          *
82          * @return     The type information of this instance
83          */
84         virtual AnimationGroupType GetType(void) const = 0;
85
86
87 protected:
88
89         //
90         // This method is for internal use only. Using this method can cause behavioral, security-related,
91         // and consistency-related issues in the application.
92         //
93         // This is the default constructor for this class.
94         //
95         // @since       2.0
96         //
97         AnimationGroup(void);
98
99
100         //
101         // This method is for internal use only. Using this method can cause behavioral, security-related,
102         // and consistency-related issues in the application.
103         //
104         // Assigns the value of the specified instance to the current instance of %AnimationGroup.
105         //
106         // @since               2.0
107         //
108         // @param[in]   rhs             An instance of %AnimationGroup
109         //
110         AnimationGroup& operator =(const AnimationGroup& rhs);
111
112
113         //
114         // This method is for internal use only. Using this method can cause behavioral, security-related,
115         // and consistency-related issues in the application.
116         //
117         // This is the copy constructor for the %AnimationGroup class.
118         //
119         // @since       2.0
120         //
121         // @param[in]   animationGroup  An instance of %AnimationGroup
122         //
123         AnimationGroup(const AnimationGroup& animationGroup);
124
125
126         friend class _AnimationGroupImpl;
127
128
129         //
130         // This variable is for internal use only. Using this variable can cause behavioral, security-related,
131         // and consistency-related issues in the application.
132         //
133         // The variable for internal usage.
134         //
135         // @since  2.0
136         //
137         class _AnimationGroupImpl* _pAnimationGroupImpl;
138 };              // AnimationGroup
139
140
141 }}}             // Tizen::Ui::Animations
142
143 #endif  // _FUI_ANIM_ANIMATION_GROUP_H_