Tizen 2.1 base
[framework/osp/uifw.git] / inc / FUiITouchRotationGestureEventListener.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                        FUiITouchRotationGestureEventListener.h
20  * @brief               This is the header file for the %ITouchRotationGestureEventListener interface.
21  *
22  * This header file contains the declarations of the %ITouchRotationGestureEventListener interface.
23  */
24 #ifndef _FUI_ITOUCH_ROTATION_GESTURE_EVENT_LISTENER_H_
25 #define _FUI_ITOUCH_ROTATION_GESTURE_EVENT_LISTENER_H_
26
27 #include <FUiTouchRotationGestureDetector.h>
28 #include <FUiITouchGestureEventListener.h>
29
30 namespace Tizen { namespace Ui
31 {
32
33 /**
34  * @class               ITouchRotationGestureEventListener
35  * @brief               This interface implements the listener for the touch rotation gesture events.
36  *
37  * @since 2.0
38  *
39  * The %ITouchRotationGestureEventListener interface is the listener interface for receiving pinch gesture events.
40  * The class that processes a rotation gesture event implements this interface, and the instance created with that class is registered with a
41  * rotation gesture detector, using the gesture detector's AddRotationGestureEventListener() method. When the rotation gesture event occurs, a method of that instance is
42  * invoked.
43  *
44  */
45 class _OSP_EXPORT_ ITouchRotationGestureEventListener
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 ~ITouchRotationGestureEventListener(void) {}
56
57         /**
58          * Called when a rotation gesture detection is started.
59          *
60          * @since 2.0
61          *
62          * @param[in]   gestureDetector                       The rotation gesture detector instance
63          */
64         virtual void OnRotationGestureStarted(Tizen::Ui::TouchRotationGestureDetector& gestureDetector) = 0;
65
66         /**
67          * Called when a rotation gesture is detected and is in progress.
68          *
69          * @since 2.0
70          *
71          * @param[in]   gestureDetector                       The rotation gesture detector instance
72          */
73         virtual void OnRotationGestureChanged(Tizen::Ui::TouchRotationGestureDetector& gestureDetector) = 0;
74
75         /**
76          * Called when a rotation gesture detection is finished.
77          *
78          * @since 2.0
79          *
80          * @param[in]   gestureDetector                       The rotation gesture detector instance
81          */
82         virtual void OnRotationGestureFinished(Tizen::Ui::TouchRotationGestureDetector& gestureDetector) = 0;
83
84         /**
85          * Called when a rotation gesture detection is canceled.
86          *
87          * @since 2.0
88          *
89          * @param[in]   gestureDetector                       The rotation gesture detector instance
90          */
91         virtual void OnRotationGestureCanceled(Tizen::Ui::TouchRotationGestureDetector& 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 ITouchRotationGestureEventListener_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 ITouchRotationGestureEventListener_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 ITouchRotationGestureEventListener_Reserved3(void) {}
120 }; // ITouchRotationGestureEventListener
121
122 }} // Tizen::Ui
123
124 #endif //_FUI_ITOUCH_ROTATION_GESTURE_EVENT_LISTENER_H_