N_SE-47263 : reset touch cancel when indicator touch released/N_SE-51832 : fix checki...
[platform/framework/native/uifw.git] / inc / FUiEffectsIEffectEventListener.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  * @file        FUiEffectsIEffectEventListener.h
19  * @brief       This is the header file for the %IEffectEventListener interface.
20  *
21  * This header file contains the declarations of the %IEffectEventListener interface.
22  */
23
24 #ifndef _FUI_EFFECTS_IEFFECT_LISTENER_H_
25 #define _FUI_EFFECTS_IEFFECT_LISTENER_H_
26
27 #include <FBaseRtIEventListener.h>
28 #include <FUiEffectsTypes.h>
29
30 namespace Tizen { namespace Base { namespace Collection
31 {
32 class IList;
33 }}} // Tizen::Base::Collection
34
35 namespace Tizen { namespace Ui { namespace Effects
36 {
37
38 class Effect;
39
40 /**
41  * @interface IEffectEventListener
42  * @brief This interface provides listeners for the effects.
43  *
44  * @since 2.0
45  *
46  * This interface provides methods for notifying applications about the state change of the effects.
47  */
48 class _OSP_EXPORT_ IEffectEventListener
49         : virtual public Tizen::Base::Runtime::IEventListener
50 {
51 public:
52          /**
53           * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
54           *
55           * @since 2.0
56           */
57          virtual ~IEffectEventListener(void) {}
58
59          /**
60           * Called when the effect starts.
61           *
62           * @since 2.0
63           *
64           * @param [in]         effect   The effect to start
65           */
66          virtual void OnEffectStarted(Effect& effect) = 0;
67
68          /**
69          * Called when the effect finishes.
70          *
71          * @since 2.0
72          *
73          * @param [in]          effect                            The effect that is finished
74          * @param [in]          effectResult              The result of the effect
75          * @param [in]          lastShownBitmapIds        A list of last shown bitmaps @n
76                                                   The listener will be notified with the bitmaps shown at the last frame.
77          *                                                                                The item type of @c lastShownBitmapIds is Tizen::Base::Long.
78          */
79          virtual void OnEffectFinished(Effect& effect, Tizen::Ui::Effects::EffectResult effectResult, const Tizen::Base::Collection::IList& lastShownBitmapIds) = 0;
80
81 protected:
82         //
83         // This method is for internal use only. Using this method can cause behavioral, security-related,
84         // and consistency-related issues in the application.
85         //
86         //
87         // This method is reserved and may change its name at any time without prior notice.
88         //
89         // @since 2.0
90         //
91         virtual void IEffectEventListener_Reserved1(void) {}
92
93         //
94         // This method is for internal use only. Using this method can cause behavioral, security-related,
95         // and consistency-related issues in the application.
96         //
97         //
98         // This method is reserved and may change its name at any time without prior notice.
99         //
100         // @since 2.0
101         //
102         virtual void IEffectEventListener_Reserved2(void) {}
103
104         //
105         // This method is for internal use only. Using this method can cause behavioral, security-related,
106         // and consistency-related issues in the application.
107         //
108         //
109         // This method is reserved and may change its name at any time without prior notice.
110         //
111         // @since 2.0
112         //
113         virtual void IEffectEventListener_Reserved3(void) {}
114
115         //
116         // This method is for internal use only. Using this method can cause behavioral, security-related,
117         // and consistency-related issues in the application.
118         //
119         //
120         // This method is reserved and may change its name at any time without prior notice.
121         //
122         // @since 2.0
123         //
124         virtual void IEffectEventListener_Reserved4(void) {}
125
126         //
127         // This method is for internal use only. Using this method can cause behavioral, security-related,
128         // and consistency-related issues in the application.
129         //
130         //
131         // This method is reserved and may change its name at any time without prior notice.
132         //
133         // @since 2.0
134         //
135         virtual void IEffectEventListener_Reserved5(void) {}
136 }; // IEffectEventListener
137
138 }}} // Tizen::Ui::Effects
139
140 #endif // _FUI_EFFECTS_IEFFECT_LISTENER_H_
141