Fix to adjust the position of the partial Frame
[platform/framework/native/uifw.git] / inc / FUiAnimIFrameAnimatorEventListener.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        FUiAnimIFrameAnimatorEventListener.h
20  * @brief       This is the header file for the %IFrameAnimatorEventListener interface.
21  *
22  * This header file contains the declarations of the %IFrameAnimatorEventListener interface.
23  */
24
25 #ifndef _FUI_CTRL_IFRAME_ANIMATOR_EVENT_LISTENER_H_
26 #define _FUI_CTRL_IFRAME_ANIMATOR_EVENT_LISTENER_H_
27
28 #include <FBaseTypes.h>
29 #include <FBaseObject.h>
30 #include <FBaseRtIEventListener.h>
31 #include <FUiAnimTypes.h>
32 #include <FUiAnimAnimationBase.h>
33
34
35 namespace Tizen { namespace Ui { namespace Controls
36 {
37 class Form;
38 } } }
39 namespace Tizen { namespace Ui { namespace Controls
40 {
41 class Frame;
42 } } }
43 namespace Tizen { namespace Ui { namespace Animations
44 {
45 class FrameAnimator;
46 } } }
47
48 namespace Tizen { namespace Ui { namespace Animations
49 {
50
51
52
53 /**
54  * @interface   IFrameAnimatorEventListener
55  * @brief               This interface implements the listener for animation events.
56  *
57  * @since               2.0
58  *
59  * The %IFrameAnimatorEventListener interface is the listener interface for receiving frame animator events.
60  * The class that processes a frame animator event implements this interface, and the instance created with that class is
61  * registered with a Frame, using the FrameAnimator::AddFrameAnimatorEventListener() method. When the frame animator event occurs, a
62  * method of that instance is invoked.
63  */
64 class _OSP_EXPORT_ IFrameAnimatorEventListener
65         : virtual public Tizen::Base::Runtime::IEventListener
66 {
67 public:
68
69         /**
70          * This is the destructor for this class.
71          *
72          * @since       2.0
73          */
74         virtual ~IFrameAnimatorEventListener(void) {}
75
76
77         /**
78          * Called when the animation of a form transition starts.
79          *
80          * @since               2.0
81          *
82          * @param[in]   source                  The source of the event
83          * @param[in]   frame                   The frame @n
84          *                              The frame that starts the animation of a form transition.
85          * @param[in]   form1                   The form @n
86          *                              The animation starts on this form.
87          * @param[in]   form2                   The form @n
88          *                              The animation starts on this form.
89          */
90         virtual void OnFormTransitionAnimationStarted(Tizen::Ui::Animations::FrameAnimator& source, Tizen::Ui::Controls::Frame& frame, Tizen::Ui::Controls::Form& form1, Tizen::Ui::Controls::Form& form2) = 0;
91
92
93         /**
94          * Called when the animation of a form transition stops.
95          *
96          * @since               2.0
97          *
98          * @param[in]   source                  The source of the event
99          * @param[in]   frame                   The frame @n
100          *                              The frame that stops the animation of a form transition.
101          * @param[in]   form1                   The form @n
102          *                              The animation stops on this form.
103          * @param[in]   form2                   The form @n
104          *                              The animation stops on this form.
105          */
106         virtual void OnFormTransitionAnimationStopped(Tizen::Ui::Animations::FrameAnimator& source, Tizen::Ui::Controls::Frame& frame, Tizen::Ui::Controls::Form& form1, Tizen::Ui::Controls::Form& form2) = 0;
107
108
109         /**
110          * Called when the animation of a form transition finishes.
111          *
112          * @since       2.0
113          *
114          * @param[in]   source                  The source of the event
115          * @param[in]   frame                   The frame @n
116          *                              The frame that finishes the animation of a form transition.
117          * @param[in]   form1                   The form @n
118          *                              The animation finishes on this form.
119          * @param[in]   form2                   The form @n
120          *                              The animation finishes on this form.
121          */
122         virtual void OnFormTransitionAnimationFinished(Tizen::Ui::Animations::FrameAnimator& source, Tizen::Ui::Controls::Frame& frame, Tizen::Ui::Controls::Form& form1, Tizen::Ui::Controls::Form& form2) = 0;
123
124
125 protected:
126
127         //
128         // This method is for internal use only. Using this method can cause behavioral, security-related,
129         // and consistency-related issues in the application.
130         //
131         // This method is reserved and may change its name at any time without
132         // prior notice.
133         //
134         // @since  2.0
135         //
136         virtual void IFrameAnimatorEventListener_Reserved1(void) { }
137
138
139         //
140         // This method is for internal use only. Using this method can cause behavioral, security-related,
141         // and consistency-related issues in the application.
142         //
143         // This method is reserved and may change its name at any time without
144         // prior notice.
145         //
146         // @since  2.0
147         //
148         virtual void IFrameAnimatorEventListener_Reserved2(void) { }
149
150
151         //
152         // This method is for internal use only. Using this method can cause behavioral, security-related,
153         // and consistency-related issues in the application.
154         //
155         // This method is reserved and may change its name at any time without
156         // prior notice.
157         //
158         // @since  2.0
159         //
160         virtual void IFrameAnimatorEventListener_Reserved3(void) { }
161 };              // IFrameAnimatorEventListener
162
163
164 }}}             // Tizen::Ui::Animations
165
166 #endif // _FUI_ANIM_IFRAME_ANIMATOR_EVENT_LISTENER_H_