Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiAnimEaseOutTimingFunction.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        FUiAnimEaseOutTimingFunction.h
20  * @brief       This is the header file for the %EaseOutTimingFunction class.
21  *
22  * This header file contains the declarations of the %EaseOutTimingFunction class.
23  */
24
25 #ifndef _FUI_ANIM_EASE_OUT_TIMING_FUNCTION_H_
26 #define _FUI_ANIM_EASE_OUT_TIMING_FUNCTION_H_
27
28 #include <FUiAnimIVisualElementAnimationTimingFunction.h>
29
30 namespace Tizen { namespace Ui { namespace Animations
31 {
32
33
34 /**
35  * @class       EaseOutTimingFunction
36  * @brief       This class stores the information of an ease-out timing function.
37  *
38  * @since       2.0
39  *
40  * The %EaseOutTimingFunction class provides ease-out timing function related information.
41  */
42 class _OSP_EXPORT_ EaseOutTimingFunction
43         : public Tizen::Base::Object
44         , public IVisualElementAnimationTimingFunction
45 {
46 public:
47
48         /**
49          * This is the constructor for this class.
50          *
51          * @since       2.0
52          */
53         EaseOutTimingFunction(void);
54
55
56         /**
57          * This is the destructor for this class.
58          *
59          * @since       2.0
60          */
61         virtual ~EaseOutTimingFunction(void);
62
63
64         /**
65          * Calculates the progress(pace) of an animation regarding the time elapsed.
66          *
67          * @since       2.0
68          *
69          * @return      The progress(pace) value calculated by ease-out equation @n
70          *                      @c 0 and @c 1 are the start and end values of an animation, respectively.
71          * @param[in]   timeProgress    The time progress value @n
72          *                                                              This must be in the range @c 0.0 to @c 1.0.
73          */
74         virtual float CalculateProgress(float timeProgress) const;
75
76
77 private:
78
79         //
80         // This method is for internal use only. Using this method can cause behavioral, security-related,
81         // and consistency-related issues in the application.
82         //
83         // This is the assignment operator for this class.
84         //
85         // @since  2.0
86         //
87         EaseOutTimingFunction(const EaseOutTimingFunction& rhs);
88
89
90         //
91         // This method is for internal use only. Using this method can cause behavioral, security-related,
92         // and consistency-related issues in the application.
93         //
94         // Assigns the value of the specified instance to the current instance of %EaseOutTimingFunction.
95         //
96         // @since  2.0
97         //
98         EaseOutTimingFunction& operator =(const EaseOutTimingFunction& rhs);
99 };              // EaseOutTimingFunction
100
101
102 }}}             // Tizen::Ui::Animations
103
104 #endif //_FUI_ANIM_EASE_OUT_TIMING_FUNCTION_H_