Merge "fix klocwork issue" into tizen_2.2
[platform/framework/native/uifw.git] / inc / FUiITouchPanningGestureEventListener.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                 FUiITouchPanningGestureEventListener.h
20 * @brief                This is the header file for the %ITouchPanningGestureEventListener interface.
21 *
22 * This header file contains the declarations of the %ITouchPanningGestureEventListener interface.
23 */
24 #ifndef _FUI_ITOUCH_PANNING_GESTURE_EVENT_LISTENER_H_
25 #define _FUI_ITOUCH_PANNING_GESTURE_EVENT_LISTENER_H_
26
27 #include <FUiTouchPanningGestureDetector.h>
28 #include <FUiITouchGestureEventListener.h>
29
30 namespace Tizen { namespace Ui
31 {
32
33 /**
34  * @interface           ITouchPanningGestureEventListener
35  * @brief               This interface implements the listener for the touch panning gesture events.
36  *
37  * @since 2.0
38  *
39  * The %ITouchPanningGestureEventListener interface is the listener interface for receiving panning gesture events.
40  * The class that processes a panning gesture event implements this interface, and the instance created with that class is registered with a
41  * panning gesture detector, using the TouchPanningGestureDetector::AddPanningGestureEventListener() method. When the panning gesture event occurs, a method of that instance is
42  * invoked.
43  *
44  */
45 class _OSP_EXPORT_ ITouchPanningGestureEventListener
46   : virtual public ITouchGestureEventListener
47 {
48 public:
49         /**
50          * This polymorphic destructor should be overridden if required.
51          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
52          *
53          * @since                               2.0
54          */
55         virtual ~ITouchPanningGestureEventListener(void) {}
56
57         /**
58         * Called when a panning gesture detection is started.
59         *
60         * @since 2.0
61         *
62         * @param[in]   gestureDetector                       The panning gesture detector instance
63         */
64         virtual void OnPanningGestureStarted(Tizen::Ui::TouchPanningGestureDetector& gestureDetector) = 0;
65
66         /**
67         * Called when a panning gesture is detected and is in progress.
68         *
69         * @since 2.0
70         *
71         * @param[in]   gestureDetector                       The panning gesture detector instance
72         */
73         virtual void OnPanningGestureChanged(Tizen::Ui::TouchPanningGestureDetector& gestureDetector) = 0;
74
75         /**
76         * Called when a panning gesture detection is finished.
77         *
78         * @since 2.0
79         *
80         * @param[in]   gestureDetector                       The panning gesture detector instance
81         */
82         virtual void OnPanningGestureFinished(Tizen::Ui::TouchPanningGestureDetector& gestureDetector) = 0;
83
84         /**
85         * Called when a panning gesture detection is canceled.
86         *
87         * @since 2.0
88         *
89         * @param[in]   gestureDetector                       The panning gesture detector instance
90         */
91         virtual void OnPanningGestureCanceled(Tizen::Ui::TouchPanningGestureDetector& gestureDetector) = 0;
92
93 protected:
94         //
95         // This method is for internal use only. Using this method can cause behavioral, security-related,
96         // and consistency-related issues in the application.
97         //
98         // This method is reserved and may change its name at any time without
99         // prior notice.
100         //
101         virtual void ITouchPanningGestureEventListener_Reserved1(void) {}
102
103         //
104         // This method is for internal use only. Using this method can cause behavioral, security-related,
105         // and consistency-related issues in the application.
106         //
107         // This method is reserved and may change its name at any time without
108         // prior notice.
109         //
110         virtual void ITouchPanningGestureEventListener_Reserved2(void) {}
111
112         //
113         // This method is for internal use only. Using this method can cause behavioral, security-related,
114         // and consistency-related issues in the application.
115         //
116         // This method is reserved and may change its name at any time without
117         // prior notice.
118         //
119         virtual void ITouchPanningGestureEventListener_Reserved3(void) {}
120 }; //ITouchPanningGestureEventListener
121
122 }} // Tizen::Ui
123
124 #endif //_FUI_ITOUCH_PANNING_GESTURE_EVENT_LISTENER_H_