[Tizen] Not execute the remove callback
[platform/core/uifw/dali-core.git] / dali / internal / event / events / gesture-requests.h
1 #ifndef DALI_INTERNAL_GESTURE_REQUESTS_H
2 #define DALI_INTERNAL_GESTURE_REQUESTS_H
3
4 /*
5  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali/public-api/events/gesture.h>
23
24 namespace Dali
25 {
26 namespace Internal
27 {
28 /**
29  * This structure specifies the gesture type required (or no longer required) by Core.
30  */
31 struct GestureRequest
32 {
33   // Creation & Destruction
34
35   /**
36    * Default Constructor
37    * @param[in]  typeRequired  The gesture type required
38    */
39   GestureRequest(GestureType::Value typeRequired)
40   : type(typeRequired)
41   {
42   }
43
44   /**
45    * Virtual destructor
46    */
47   virtual ~GestureRequest() = default;
48
49   // Data Members
50
51   GestureType::Value type; ///< The type of gesture required.
52 };
53
54 /**
55  * This is used by Core when a pan gesture is required.
56  */
57 struct PanGestureRequest : public GestureRequest
58 {
59   // Creation & Destruction
60
61   /**
62    * Default Constructor
63    */
64   PanGestureRequest()
65   : GestureRequest(GestureType::PAN),
66     minTouches(1),
67     maxTouches(1)
68   {
69   }
70
71   /**
72    * Virtual destructor
73    */
74   ~PanGestureRequest() override = default;
75
76   // Data Members
77
78   unsigned int minTouches; ///< The minimum number of touch points required for a pan gesture.
79   unsigned int maxTouches; ///< The maximum number of touch points required for a pan gesture.
80 };
81
82 /**
83  * This is used by Core when a tap gesture is required.
84  */
85 struct TapGestureRequest : public GestureRequest
86 {
87   // Creation & Destruction
88
89   /**
90    * Default Constructor
91    */
92   TapGestureRequest()
93   : GestureRequest(GestureType::TAP),
94     minTaps(1),
95     maxTaps(1),
96     minTouches(1),
97     maxTouches(1)
98   {
99   }
100
101   /**
102    * Virtual destructor
103    */
104   ~TapGestureRequest() override = default;
105
106   // Data Members
107
108   unsigned int minTaps;    ///< The minimum number of taps required.
109   unsigned int maxTaps;    ///< The maximum number of taps required.
110   unsigned int minTouches; ///< The minimum number of touch points required for our tap gesture.
111   unsigned int maxTouches; ///< The maximum number of touch points required for our tap gesture.
112 };
113
114 /**
115  * This is used by Core when a long press gesture is required.
116  */
117 struct LongPressGestureRequest : public GestureRequest
118 {
119   // Creation & Destruction
120
121   /**
122    * Default Constructor
123    */
124   LongPressGestureRequest()
125   : GestureRequest(GestureType::LONG_PRESS),
126     minTouches(1),
127     maxTouches(1)
128   {
129   }
130
131   /**
132    * Virtual destructor
133    */
134   ~LongPressGestureRequest() override = default;
135
136   // Data Members
137
138   unsigned int minTouches; ///< The minimum number of touch points required for a long press gesture.
139   unsigned int maxTouches; ///< The maximum number of touch points required for a long press gesture.
140 };
141
142 } // namespace Internal
143
144 } // namespace Dali
145
146 #endif // DALI_INTERNAL_GESTURE_REQUESTS_H