Merge "Unchecked GetCharacter func when index is over string length" into tizen_2.2
[platform/framework/native/uifw.git] / inc / FUiAnimIControlAnimatorEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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        FUiAnimIControlAnimatorEventListener.h
20  * @brief       This is the header file for the %IControlAnimatorEventListener interface.
21  *
22  * This header file contains the declarations of the %IControlAnimatorEventListener interface.
23  */
24
25 #ifndef _FUI_ANIM_ICONTROL_ANIMATOR_EVENT_LISTENER_H_
26 #define _FUI_ANIM_ICONTROL_ANIMATOR_EVENT_LISTENER_H_
27
28 #include <FBaseTypes.h>
29 #include <FBaseObject.h>
30 #include <FBaseRtIEventListener.h>
31
32 #include <FUiAnimAnimationBase.h>
33
34
35 namespace Tizen { namespace Ui
36 {
37 class Control;
38 } }
39 namespace Tizen { namespace Ui { namespace Animations
40 {
41 class ControlAnimator;
42 } } }
43
44 namespace Tizen { namespace Ui { namespace Animations
45 {
46
47
48 /**
49  * @interface   IControlAnimatorEventListener
50  * @brief               This interface implements the listener for animation events.
51  *
52  * @since               2.0
53  *
54  * The %IControlAnimatorEventListener interface is the listener interface for receiving control animator events.
55  * The class that processes a control animator event implements this interface, and the instance created with that class is
56  * registered with a UI control, using the ControlAnimator::AddControlAnimatorEventListener() method. When the control animator event
57  * occurs, a method of that instance is invoked.
58  */
59 class _OSP_EXPORT_ IControlAnimatorEventListener
60         : virtual public Tizen::Base::Runtime::IEventListener
61 {
62 public:
63
64         /**
65          * This is the destructor for this class.
66          *
67          * @since       2.0
68          */
69         virtual ~IControlAnimatorEventListener(void) {}
70
71
72         /**
73          * Called when an animation starts on the specified control.
74          *
75          * @since               2.0
76          *
77          * @param[in]   source                  The source of the event
78          * @param[in]   control                 The control on which an animation starts
79          */
80         virtual void OnControlAnimationStarted(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control) = 0;
81
82
83         /**
84          * Called when all the animations currently associated with a control have finished.
85          *
86          * @since               2.0
87          *
88          * @param[in]   source                  The source of the event
89          * @param[in]   control                 The control on which all the animations have finished
90          */
91         virtual void OnControlAnimationFinished(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control) = 0;
92
93
94         /**
95          * Called when all the animations currently associated with a control have stopped.
96          *
97          * @since               2.0
98          *
99          * @param[in]   source                  The source of the event
100          * @param[in]   control                 The control on which all the animations have stopped
101          */
102         virtual void OnControlAnimationStopped(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control) = 0;
103
104
105 protected:
106
107         //
108         // This method is for internal use only. Using this method can cause behavioral, security-related,
109         // and consistency-related issues in the application.
110         //
111         // This method is reserved and may change its name at any time without
112         // prior notice.
113         //
114         // @since  2.0
115         //
116         virtual void IControlAnimatorEventListener_Reserved1(void) { }
117
118
119         //
120         // This method is for internal use only. Using this method can cause behavioral, security-related,
121         // and consistency-related issues in the application.
122         //
123         // This method is reserved and may change its name at any time without
124         // prior notice.
125         //
126         // @since  2.0
127         //
128         virtual void IControlAnimatorEventListener_Reserved2(void) { }
129
130
131         //
132         // This method is for internal use only. Using this method can cause behavioral, security-related,
133         // and consistency-related issues in the application.
134         //
135         // This method is reserved and may change its name at any time without
136         // prior notice.
137         //
138         // @since  2.0
139         //
140         virtual void IControlAnimatorEventListener_Reserved3(void) { }
141 };              // IControlAnimatorEventListener
142
143
144 }}}             // Tizen::Ui::Animations
145
146 #endif // _FUI_ANIM_ICONTROL_ANIMATOR_EVENT_LISTENER_H_