2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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 FUiAnimVisualElementPropertyAnimation.h
20 * @brief This is the header file for the %VisualElementPropertyAnimation class.
22 * This header file contains the declarations of the %VisualElementPropertyAnimation class.
25 #ifndef _FUI_ANIM_VISUAL_ELEMENT_PROPERTY_ANIMATION_H_
26 #define _FUI_ANIM_VISUAL_ELEMENT_PROPERTY_ANIMATION_H_
28 #include <FUiAnimVisualElementValueAnimation.h>
30 namespace Tizen { namespace Ui { namespace Animations
34 class _VisualElementPropertyAnimationImpl;
37 * @class VisualElementPropertyAnimation
38 * @brief This class is for property animation.
42 * The %VisualElementPropertyAnimation class defines the basic property animation.
44 class _OSP_EXPORT_ VisualElementPropertyAnimation
45 : public VisualElementValueAnimation
50 * This is the default constructor for this class.
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.
58 VisualElementPropertyAnimation(void);
62 * This is the destructor for this class.
66 virtual ~VisualElementPropertyAnimation(void);
70 * This is the copy constructor for the %VisualElementPropertyAnimation class.
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.
79 VisualElementPropertyAnimation(const VisualElementPropertyAnimation& animation);
83 * Assigns the value of the specified instance to the current instance of %VisualElementPropertyAnimation.
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.
92 VisualElementPropertyAnimation& operator =(const VisualElementPropertyAnimation& rhs);
96 * Checks whether the specified instance and current instance of %VisualElementPropertyAnimation have equal animation values.
100 * @return @c true if the animation of the two instances of %VisualElementPropertyAnimation are equal, @n
102 * @param[in] rhs An instance of %VisualElementPropertyAnimation
104 bool operator ==(const VisualElementPropertyAnimation& rhs) const;
108 * Checks whether the specified instance and current instance of %VisualElementPropertyAnimation have different animation values.
112 * @return @c true if the values of the animations of the two instances of %VisualElementPropertyAnimation are not equal, @n
114 * @param[in] rhs An instance of %VisualElementPropertyAnimation
116 bool operator !=(const VisualElementPropertyAnimation& rhs) const;
120 * Checks whether the value of the current instance of %VisualElementPropertyAnimation equals the value of the specified instance.
124 * @return @c true if the value of the current instance equals the value of the specified instance, @n
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.
129 virtual bool Equals(const Tizen::Base::Object& obj) const;
133 * Gets the hash value of the current instance.
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.
141 virtual int GetHashCode(void) const;
145 * Gets the copied instance of the class.
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.
154 virtual VisualElementAnimation* CloneN(void) const;
158 * Sets the property for the animation.
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()
168 result SetPropertyName(const Tizen::Base::String& property);
172 * Gets the string of property to which the animation is applied.
176 * @return A string of property
177 * @see SetPropertyName()
179 Tizen::Base::String GetPropertyName(void) const;
184 friend class _VisualElementPropertyAnimationImpl;
185 }; // VisualElementPropertyAnimation
188 }}} // Tizen::Ui::Animations
190 #endif // _FUI_ANIM_VISUAL_ELEMENT_PROPERTY_ANIMATION_H_