Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiAnimVisualElementPropertyAnimation.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        FUiAnimVisualElementPropertyAnimation.h
20  * @brief       This is the header file for the %VisualElementPropertyAnimation class.
21  *
22  * This header file contains the declarations of the %VisualElementPropertyAnimation class.
23  */
24
25 #ifndef _FUI_ANIM_VISUAL_ELEMENT_PROPERTY_ANIMATION_H_
26 #define _FUI_ANIM_VISUAL_ELEMENT_PROPERTY_ANIMATION_H_
27
28 #include <FUiAnimVisualElementValueAnimation.h>
29
30 namespace Tizen { namespace Ui { namespace Animations
31 {
32
33
34 class _VisualElementPropertyAnimationImpl;
35
36 /**
37  * @class       VisualElementPropertyAnimation
38  * @brief       This class is for property animation.
39  *
40  * @since       2.0
41  *
42  * The %VisualElementPropertyAnimation class defines the basic property animation.
43  */
44 class _OSP_EXPORT_ VisualElementPropertyAnimation
45         : public VisualElementValueAnimation
46 {
47 public:
48
49         /**
50          * This is the default constructor for this class.
51          *
52          * @since       2.0
53          *
54          * @exception   E_SUCCESS               The method is successful.
55          * @exception   E_OUT_OF_MEMORY The memory is insufficient.
56          * @remarks             The specific error code can be accessed using the GetLastResult() method.
57          */
58         VisualElementPropertyAnimation(void);
59
60
61         /**
62          * This is the destructor for this class.
63          *
64          * @since       2.0
65          */
66         virtual ~VisualElementPropertyAnimation(void);
67
68
69         /**
70          * This is the copy constructor for the %VisualElementPropertyAnimation class.
71          *
72          * @since       2.0
73          *
74          * @param[in]   animation       An instance of %VisualElementPropertyAnimation
75          * @exception   E_SUCCESS               The method is successful.
76          * @exception   E_OUT_OF_MEMORY The memory is insufficient.
77          * @remarks             The specific error code can be accessed using the GetLastResult() method.
78          */
79         VisualElementPropertyAnimation(const VisualElementPropertyAnimation& animation);
80
81
82         /**
83          * Assigns the value of the specified instance to the current instance of %VisualElementPropertyAnimation.
84          *
85          * @since       2.0
86          *
87          * @param[in]   rhs             An instance of %VisualElementPropertyAnimation
88          * @exception   E_SUCCESS               The method is successful.
89          * @exception   E_OUT_OF_MEMORY The memory is insufficient.
90          * @remarks             The specific error code can be accessed using the GetLastResult() method.
91          */
92         VisualElementPropertyAnimation& operator =(const VisualElementPropertyAnimation& rhs);
93
94
95         /**
96          * Checks whether the specified instance and current instance of %VisualElementPropertyAnimation have equal animation values.
97          *
98          * @since       2.0
99          *
100          * @return      @c true if the animation of the two instances of %VisualElementPropertyAnimation are equal, @n
101          *                      else @c false
102          * @param[in]   rhs             An instance of %VisualElementPropertyAnimation
103          */
104         bool operator ==(const VisualElementPropertyAnimation& rhs) const;
105
106
107         /**
108          * Checks whether the specified instance and current instance of %VisualElementPropertyAnimation have different animation values.
109          *
110          * @since       2.0
111          *
112          * @return      @c true if the values of the animations of the two instances of %VisualElementPropertyAnimation are not equal, @n
113          *                      else @c false
114          * @param[in]   rhs             An instance of %VisualElementPropertyAnimation
115          */
116         bool operator !=(const VisualElementPropertyAnimation& rhs) const;
117
118
119         /**
120          * Checks whether the value of the current instance of %VisualElementPropertyAnimation equals the value of the specified instance.
121          *
122          * @since       2.0
123          *
124          * @return      @c true if the value of the current instance equals the value of the specified instance, @n
125          *                      else @c false
126          * @param[in]   obj             An instance of %VisualElementPropertyAnimation
127          * @remarks     The %VisualElementPropertyAnimation class has a semantic value that means this method checks whether the two instances have the same animation.
128          */
129         virtual bool Equals(const Tizen::Base::Object& obj) const;
130
131
132         /**
133          * Gets the hash value of the current instance.
134          *
135          * @since       2.0
136          *
137          * @return      The hash value of the current instance
138          * @remarks             The two equal instances must return the same hash value.
139          *                              For better performance, the used hash function must generate a random distribution for all inputs.
140          */
141         virtual int GetHashCode(void) const;
142
143
144         /**
145          * Gets the copied instance of the class.
146          *
147          * @since   2.0
148          *
149          * @return      An instance of VisualElementAnimation
150          * @exception   E_SUCCESS               The method is successful.
151          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
152          * @remarks             The specific error code can be accessed using the GetLastResult() method.
153          */
154         virtual VisualElementAnimation* CloneN(void) const;
155
156
157         /**
158          * Sets the property for the animation.
159          *
160          * @since       2.0
161          *
162          * @return      An error code
163          * @param[in]   property                The property name to which the animation is applied
164          * @exception   E_SUCCESS               The method is successful.
165          * @exception   E_INVALID_ARG           The specified input parameter is invalid.
166          * @see         GetPropertyName()
167          */
168         result SetPropertyName(const Tizen::Base::String& property);
169
170
171         /**
172          * Gets the string of property to which the animation is applied.
173          *
174          * @since       2.0
175          *
176          * @return      A string of property
177          * @see         SetPropertyName()
178          */
179         Tizen::Base::String GetPropertyName(void) const;
180
181
182 protected:
183
184         friend class _VisualElementPropertyAnimationImpl;
185 };              // VisualElementPropertyAnimation
186
187
188 }}}             // Tizen::Ui::Animations
189
190 #endif  // _FUI_ANIM_VISUAL_ELEMENT_PROPERTY_ANIMATION_H_