Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiCtrlAnimationFrame.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        FUiCtrlAnimationFrame.h
20  * @brief       This is the header file for the %AnimationFrame class.
21  *
22  * This header file contains the declarations of the %AnimationFrame class and its helper classes.
23  */
24
25 #ifndef _FUI_CTRL_ANIMATION_FRAME_H_
26 #define _FUI_CTRL_ANIMATION_FRAME_H_
27
28 #include <FBaseObject.h>
29 #include <FGrpBitmap.h>
30
31 namespace Tizen { namespace Ui { namespace Controls
32 {
33
34 class _AnimationFrameImpl;
35
36 /**
37  * @class       AnimationFrame
38  * @brief       This class defines the common behavior of an %AnimationFrame control.
39  *
40  * @since       2.0
41  *
42  * The %AnimationFrame class defines the common behavior of an %AnimationFrame control.
43  * An animation frame includes an image to be displayed and its duration.
44  * The duration indicates how long the image is displayed when the animation is playing.
45  *
46  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_animation.htm">Animation</a>.
47  *
48  */
49 class _OSP_EXPORT_ AnimationFrame
50         : public Tizen::Base::Object
51 {
52
53 public:
54         /**
55          * This is the default constructor for this class.
56          *
57          * @since               2.0
58          */
59         AnimationFrame(void);
60
61         /**
62          * Initializes this instance of %AnimationFrame with the specified parameters. @n
63          * It creates an instance of %AnimationFrame with the specified image and duration.
64          *
65          * @since               2.0
66          *
67          * @param[in]   frame           The bitmap to display
68          * @param[in]   duration        The duration in milliseconds for which the bitmap is displayed
69          */
70         AnimationFrame(const Tizen::Graphics::Bitmap& frame, long duration);
71
72         /**
73          * This is the destructor for this class.
74          *
75          * @since               2.0
76          */
77         ~AnimationFrame(void);
78
79         /**
80          *      Sets the bitmap to be displayed during animation play.
81          *
82          * @since               2.0
83          *
84          * @param[in]   frame           The bitmap to display
85          */
86         void SetFrame(const Tizen::Graphics::Bitmap& frame);
87
88         /**
89          * Gets the bitmap to be displayed.
90          *
91          * @since               2.0
92          *
93          * @return              The bitmap
94          */
95         const Tizen::Graphics::Bitmap* GetFrame(void) const;
96
97         /**
98          * Sets the duration for which the bitmap is displayed.
99          *
100          * @since               2.0
101          *
102          * @param[in]   duration                The duration in milliseconds for which the bitmap is displayed
103          */
104         void SetDuration(long duration);
105
106         /**
107          * Gets the duration for which the bitmap is displayed.
108          *
109          * @since       2.0
110          *
111          * @return      The duration value
112          */
113         long GetDuration(void) const;
114
115 private:
116         //
117         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
118         //
119         AnimationFrame(const AnimationFrame& rhs);
120
121         //
122         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
123         //
124         AnimationFrame& operator =(const AnimationFrame& rhs);
125
126 private:
127         _AnimationFrameImpl* __pAnimationFrameImpl;
128
129 };  // AnimationFrame
130
131 }}} // Tizen::Ui::Controls
132
133 #endif // _FUI_CTRL_ANIMATION_FRAME_H_