1 /** Copyright (c) 2016 Samsung Electronics Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 // This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
17 //------------------------------------------------------------------------------
20 // This file was automatically generated by SWIG (http://www.swig.org).
23 // Do not make changes to this file unless you know what you are doing--modify
24 // the SWIG interface file instead.
25 //------------------------------------------------------------------------------
30 using System.Runtime.InteropServices;
32 public class TapGestureDetector : GestureDetector {
33 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
35 internal TapGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGestureDetector_SWIGUpcast(cPtr), cMemoryOwn) {
36 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
39 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGestureDetector obj) {
40 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
43 ~TapGestureDetector() {
47 public override void Dispose() {
49 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
52 NDalicPINVOKE.delete_TapGestureDetector(swigCPtr);
54 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
56 global::System.GC.SuppressFinalize(this);
63 public class DetectedEventArgs : EventArgs
66 private TapGesture _tapGesture;
80 public TapGesture TapGesture
93 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
94 private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr TapGesture);
95 private DaliEventHandler<object,DetectedEventArgs> _tapGestureEventHandler;
96 private DetectedCallbackDelegate _tapGestureCallbackDelegate;
99 public event DaliEventHandler<object,DetectedEventArgs> Detected
105 // Restricted to only one listener
106 if (_tapGestureEventHandler == null)
108 _tapGestureEventHandler += value;
110 _tapGestureCallbackDelegate = new DetectedCallbackDelegate(OnTapGestureDetected);
111 this.DetectedSignal().Connect(_tapGestureCallbackDelegate);
120 if (_tapGestureEventHandler != null)
122 this.DetectedSignal().Disconnect(_tapGestureCallbackDelegate);
125 _tapGestureEventHandler -= value;
130 private void OnTapGestureDetected(IntPtr actor, IntPtr tapGesture)
132 DetectedEventArgs e = new DetectedEventArgs();
134 // Populate all members of "e" (DetectedEventArgs) with real data
135 e.Actor = Actor.GetActorFromPtr(actor);
136 e.TapGesture = Dali.TapGesture.GetTapGestureFromPtr(tapGesture);
138 if (_tapGestureEventHandler != null)
140 //here we send all data to user event handlers
141 _tapGestureEventHandler(this, e);
147 public static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr) {
148 TapGestureDetector ret = new TapGestureDetector(cPtr, false);
149 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
154 public TapGestureDetector () : this (NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), true) {
155 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
158 public TapGestureDetector (uint tapsRequired) : this (NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true) {
159 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
162 public new static TapGestureDetector DownCast(BaseHandle handle) {
163 TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_DownCast(BaseHandle.getCPtr(handle)), true);
164 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
168 public TapGestureDetector(TapGestureDetector handle) : this(NDalicPINVOKE.new_TapGestureDetector__SWIG_1(TapGestureDetector.getCPtr(handle)), true) {
169 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
172 public TapGestureDetector Assign(TapGestureDetector rhs) {
173 TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_Assign(swigCPtr, TapGestureDetector.getCPtr(rhs)), false);
174 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
178 public void SetMinimumTapsRequired(uint minimumTaps) {
179 NDalicPINVOKE.TapGestureDetector_SetMinimumTapsRequired(swigCPtr, minimumTaps);
180 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
183 public void SetMaximumTapsRequired(uint maximumTaps) {
184 NDalicPINVOKE.TapGestureDetector_SetMaximumTapsRequired(swigCPtr, maximumTaps);
185 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
188 public uint GetMinimumTapsRequired() {
189 uint ret = NDalicPINVOKE.TapGestureDetector_GetMinimumTapsRequired(swigCPtr);
190 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
194 public uint GetMaximumTapsRequired() {
195 uint ret = NDalicPINVOKE.TapGestureDetector_GetMaximumTapsRequired(swigCPtr);
196 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
200 public TapGestureDetectedSignal DetectedSignal() {
201 TapGestureDetectedSignal ret = new TapGestureDetectedSignal(NDalicPINVOKE.TapGestureDetector_DetectedSignal(swigCPtr), false);
202 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();