Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / animations / FUiAnim_RectangleAnimationImpl.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_RectangleAnimationImpl.h
20  * @brief       This is the header file for the _RectangleAnimationImpl class.
21  *
22  * This header file contains the declarations of the _RectangleAnimationImpl class.
23  */
24
25 #ifndef _FUI_ANIM_INTERNAL_RECTANGLE_ANIMATION_IMPL_H_
26 #define _FUI_ANIM_INTERNAL_RECTANGLE_ANIMATION_IMPL_H_
27
28 #include <FUiAnimRectangleAnimation.h>
29
30
31 namespace Tizen { namespace Ui { namespace Animations
32 {
33
34 class _RectangleAnimationImpl
35         : public Tizen::Base::Object
36 {
37
38 public:
39         /**
40          * Destructor for %_RectangleAnimationImpl class.
41          */
42         ~_RectangleAnimationImpl(void);
43
44         /**
45          * Default constructor for %_RectangleAnimationImpl class.
46          */
47         _RectangleAnimationImpl(RectangleAnimation* pRectangle);
48
49         /**
50          * To copy Point animation object
51          *
52          * @since       2.0
53          * @return              An error code
54          * @param[in]   rectangleAnimation              Rectangle 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 CopyRectangleAnimationValue(const RectangleAnimation& rectangleAnimation);
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::Rectangle& animatedValue) const;
76
77         /**
78          *      The Anchor X value for scaling
79          */
80         float anchorX;
81
82         /**
83          *      The Anchor Y value for scaling
84          */
85         float anchorY;
86
87         /**
88          *      The start value of the animation
89          */
90         Tizen::Graphics::Rectangle startValue;
91
92         /**
93          *      The end value of the animation
94          */
95         Tizen::Graphics::Rectangle endValue;
96
97 private:
98         /**
99          *  Private copy constructor.
100          */
101         _RectangleAnimationImpl(const _RectangleAnimationImpl& rhs);
102
103         /**
104          *  Private assignment operator.
105          */
106         _RectangleAnimationImpl& operator =(const _RectangleAnimationImpl& rhs);
107
108         /**
109          * This is object of RectangleAnimation class
110          */
111         RectangleAnimation* __pRectangleAnimation;
112 };      // _RectangleAnimationImpl
113
114 }}}     // Tizen::Ui::Animations
115
116 #endif //_FUI_ANIM_INTERNAL_RECTANGLE_ANIMATION_IMPL_H_