[NUI] Fix build warning[CA1064]
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Gesture.cs
1 /*
2  * Copyright(c) 2020 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 using System.ComponentModel;
18
19 namespace Tizen.NUI
20 {
21     /// <summary>
22     /// Base structure for different gestures that an application can receive.<br />
23     /// A Gesture is an event that is produced from a combination of several touch events
24     /// in a particular order or within a certain time frame (for example, pinch).<br />
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     public class Gesture : BaseHandle
28     {
29
30         /// <summary>
31         /// The Copy constructor.
32         /// </summary>
33         /// <param name="rhs">A reference to the copied handle</param>
34         /// <since_tizen> 3 </since_tizen>
35         public Gesture(Gesture rhs) : this(Interop.Gesture.NewGesture(Gesture.getCPtr(rhs)), true)
36         {
37             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
38         }
39
40         internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.Gesture.Upcast(cPtr), cMemoryOwn)
41         {
42         }
43
44         /// <summary>
45         /// Enumeration for type of gesture.
46         /// </summary>
47         /// <since_tizen> 3 </since_tizen>
48         public enum GestureType
49         {
50             /// <summary>
51             /// When two touch points move away or towards each other.
52             /// </summary>
53             /// <since_tizen> 3 </since_tizen>
54             Pinch = 1 << 0,
55             /// <summary>
56             /// When the user drags their finger(s) in a particular direction.
57             /// </summary>
58             /// <since_tizen> 3 </since_tizen>
59             Pan = 1 << 1,
60             /// <summary>
61             /// When the user taps the screen.
62             /// </summary>
63             /// <since_tizen> 3 </since_tizen>
64             Tap = 1 << 2,
65             /// <summary>
66             ///  When the user continues to touch the same area on the screen for the device configured time.
67             /// </summary>
68             /// <since_tizen> 3 </since_tizen>
69             LongPress = 1 << 3
70         }
71
72         /// <summary>
73         /// Enumeration for state of the gesture.
74         /// </summary>
75         /// <since_tizen> 3 </since_tizen>
76         public enum StateType
77         {
78             /// <summary>
79             /// There is no state associated with this gesture.
80             /// </summary>
81             /// <since_tizen> 3 </since_tizen>
82             Clear,
83             /// <summary>
84             /// The touched points on the screen have moved enough to be considered a gesture.
85             /// </summary>
86             /// <since_tizen> 3 </since_tizen>
87             Started,
88             /// <summary>
89             /// The gesture is continuing.
90             /// </summary>
91             /// <since_tizen> 3 </since_tizen>
92             Continuing,
93             /// <summary>
94             /// The user has lifted a finger or touched an additional point on the screen.
95             /// </summary>
96             /// <since_tizen> 3 </since_tizen>
97             Finished,
98             /// <summary>
99             /// The gesture has been cancelled.
100             /// </summary>
101             /// <since_tizen> 3 </since_tizen>
102             Cancelled,
103             /// <summary>
104             ///  A gesture is possible.
105             /// </summary>
106             /// <since_tizen> 3 </since_tizen>
107             Possible
108         }
109
110         /// <summary>
111         /// The gesture type.
112         /// </summary>
113         /// <since_tizen> 3 </since_tizen>
114         public Gesture.GestureType Type
115         {
116             get
117             {
118                 return type;
119             }
120         }
121
122         /// <summary>
123         /// The gesture state.
124         /// </summary>
125         /// <since_tizen> 3 </since_tizen>
126         public Gesture.StateType State
127         {
128             get
129             {
130                 return state;
131             }
132         }
133
134         /// <summary>
135         /// The time the gesture took place.
136         /// </summary>
137         /// <since_tizen> 3 </since_tizen>
138         public uint Time
139         {
140             get
141             {
142                 return time;
143             }
144         }
145
146         private Gesture.GestureType type
147         {
148             set
149             {
150                 Interop.Gesture.TypeSet(swigCPtr, (int)value);
151                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
152             }
153             get
154             {
155                 Gesture.GestureType ret = (Gesture.GestureType)Interop.Gesture.TypeGet(swigCPtr);
156                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
157                 return ret;
158             }
159         }
160
161         private Gesture.StateType state
162         {
163             set
164             {
165                 Interop.Gesture.StateSet(swigCPtr, (int)value);
166                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
167             }
168             get
169             {
170                 Gesture.StateType ret = (Gesture.StateType)Interop.Gesture.StateGet(swigCPtr);
171                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
172                 return ret;
173             }
174         }
175
176         private uint time
177         {
178             set
179             {
180                 Interop.Gesture.TimeSet(swigCPtr, value);
181                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
182             }
183             get
184             {
185                 uint ret = Interop.Gesture.TimeGet(swigCPtr);
186                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
187                 return ret;
188             }
189         }
190
191         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj)
192         {
193             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
194         }
195
196         internal static Gesture GetGestureFromPtr(global::System.IntPtr cPtr)
197         {
198             Gesture ret = new Gesture(cPtr, false);
199             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
200             return ret;
201         }
202
203         /// This will not be public opened.
204         [EditorBrowsable(EditorBrowsableState.Never)]
205         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
206         {
207             Interop.Gesture.DeleteGesture(swigCPtr);
208         }
209     }
210 }