Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / animations / FUiAnim_PointAnimationImpl.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        FUiAnim_PointAnimationImpl.h
20  * @brief       This is the header file for the _PointAnimationImpl class.
21  *
22  * This header file contains the declarations of the _PointAnimationImpl class.
23  */
24
25 #ifndef _FUI_ANIM_INTERNAL_POINT_ANIMATION_IMPL_H_
26 #define _FUI_ANIM_INTERNAL_POINT_ANIMATION_IMPL_H_
27
28 #include <FUiAnimPointAnimation.h>
29
30
31 namespace Tizen { namespace Ui { namespace Animations
32 {
33
34 class _PointAnimationImpl
35         : public Tizen::Base::Object
36 {
37
38 public:
39         /**
40          * Destructor for %_PointAnimationImpl class.
41          */
42         ~_PointAnimationImpl(void);
43
44         /**
45          * Default constructor for %_PointAnimationImpl class.
46          */
47         _PointAnimationImpl(PointAnimation* pPoint);
48
49         /**
50          * To copy float animation object
51          *
52          * @since       2.0
53          * @return              An error code
54          * @param[in]   pointAnimation          Point animation object
55          * @exception   E_SUCCESS                       The method was successful.
56          * @exception   E_SYSTEM                        A system error occurred.
57          * @exception   E_INVALID_ARG           A specified input parameter is invalid.
58          */
59         result CopyPointAnimationValue(const PointAnimation& pointAnimation);
60
61         /**
62          * Gets the animated value for the current time.
63          *
64          * @since 2.0
65          * @return      An error code
66          * @param[in]   actualProgress  The current time value of the animation @n
67          *                                                              The value should be between @c 0 and 1
68          * @param[out]  animatedValue   The animated value for the current time passed as the input parameter
69          * @exception   E_SUCCESS               The method is successful.
70          * @exception   E_INVALID_ARG   A specified input parameter is invalid.
71          * @exception   E_INVALID_STATE This instance has not been properly constructed.
72          * @exception   E_SYSTEM                A system error has occurred.
73          *
74          */
75         result GetAnimatedValue(float actualProgress, Tizen::Graphics::Point& animatedValue) const;
76
77         /**
78          *      The start value of the animation
79          */
80         Tizen::Graphics::Point startValue;
81
82         /**
83          *      The end value of the animation
84          */
85         Tizen::Graphics::Point endValue;
86
87
88 private:
89         /**
90          *  Private copy constructor.
91          */
92         _PointAnimationImpl(const _PointAnimationImpl& rhs);
93
94         /**
95          *  Private assignment operator.
96          */
97         _PointAnimationImpl& operator =(const _PointAnimationImpl& rhs);
98
99         /**
100          * This is object of PointAnimation class
101          */
102         PointAnimation* __pPointAnimation;
103 };      // _PointAnimationImpl
104
105 }}}     // Tizen::Ui::Animations
106
107 #endif //_FUI_ANIM_INTERNAL_POINT_ANIMATION_IMPL_H_