1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.Threading;
7 using System.ComponentModel;
12 [Efl.Gesture.IEventsConcrete.NativeMethods]
13 [Efl.Eo.BindingEntity]
14 public interface IEvents :
15 Efl.Eo.IWrapper, IDisposable
17 /// <summary>Event for tap gesture</summary>
18 event EventHandler<Efl.Gesture.IEventsGestureTapEvt_Args> GestureTapEvt;
19 /// <summary>Event for double tap gesture</summary>
20 event EventHandler<Efl.Gesture.IEventsGestureDoubleTapEvt_Args> GestureDoubleTapEvt;
21 /// <summary>Event for triple tap gesture</summary>
22 event EventHandler<Efl.Gesture.IEventsGestureTripleTapEvt_Args> GestureTripleTapEvt;
23 /// <summary>Event for long tap gesture</summary>
24 event EventHandler<Efl.Gesture.IEventsGestureLongTapEvt_Args> GestureLongTapEvt;
25 /// <summary>Event for momentum gesture</summary>
26 event EventHandler<Efl.Gesture.IEventsGestureMomentumEvt_Args> GestureMomentumEvt;
27 /// <summary>Event for flick gesture</summary>
28 event EventHandler<Efl.Gesture.IEventsGestureFlickEvt_Args> GestureFlickEvt;
29 /// <summary>Event for zoom gesture</summary>
30 event EventHandler<Efl.Gesture.IEventsGestureZoomEvt_Args> GestureZoomEvt;
32 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureTapEvt"/>.</summary>
33 [Efl.Eo.BindingEntity]
34 public class IEventsGestureTapEvt_Args : EventArgs {
35 ///<summary>Actual event payload.</summary>
36 public Efl.Canvas.GestureTap arg { get; set; }
38 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureDoubleTapEvt"/>.</summary>
39 [Efl.Eo.BindingEntity]
40 public class IEventsGestureDoubleTapEvt_Args : EventArgs {
41 ///<summary>Actual event payload.</summary>
42 public Efl.Canvas.GestureDoubleTap arg { get; set; }
44 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureTripleTapEvt"/>.</summary>
45 [Efl.Eo.BindingEntity]
46 public class IEventsGestureTripleTapEvt_Args : EventArgs {
47 ///<summary>Actual event payload.</summary>
48 public Efl.Canvas.GestureTripleTap arg { get; set; }
50 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureLongTapEvt"/>.</summary>
51 [Efl.Eo.BindingEntity]
52 public class IEventsGestureLongTapEvt_Args : EventArgs {
53 ///<summary>Actual event payload.</summary>
54 public Efl.Canvas.GestureLongTap arg { get; set; }
56 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureMomentumEvt"/>.</summary>
57 [Efl.Eo.BindingEntity]
58 public class IEventsGestureMomentumEvt_Args : EventArgs {
59 ///<summary>Actual event payload.</summary>
60 public Efl.Canvas.GestureMomentum arg { get; set; }
62 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureFlickEvt"/>.</summary>
63 [Efl.Eo.BindingEntity]
64 public class IEventsGestureFlickEvt_Args : EventArgs {
65 ///<summary>Actual event payload.</summary>
66 public Efl.Canvas.GestureFlick arg { get; set; }
68 ///<summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureZoomEvt"/>.</summary>
69 [Efl.Eo.BindingEntity]
70 public class IEventsGestureZoomEvt_Args : EventArgs {
71 ///<summary>Actual event payload.</summary>
72 public Efl.Canvas.GestureZoom arg { get; set; }
74 sealed public class IEventsConcrete :
79 ///<summary>Pointer to the native class description.</summary>
80 public override System.IntPtr NativeClass
84 if (((object)this).GetType() == typeof(IEventsConcrete))
86 return GetEflClassStatic();
90 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
95 /// <summary>Constructor to be used when objects are expected to be constructed from native code.</summary>
96 /// <param name="ch">Tag struct storing the native handle of the object being constructed.</param>
97 private IEventsConcrete(ConstructingHandle ch) : base(ch)
101 [System.Runtime.InteropServices.DllImport(efl.Libs.Evas)] internal static extern System.IntPtr
102 efl_gesture_events_interface_get();
103 /// <summary>Initializes a new instance of the <see cref="IEvents"/> class.
104 /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
105 /// <param name="wh">The native pointer to be wrapped.</param>
106 private IEventsConcrete(Efl.Eo.Globals.WrappingHandle wh) : base(wh)
110 /// <summary>Event for tap gesture</summary>
111 public event EventHandler<Efl.Gesture.IEventsGestureTapEvt_Args> GestureTapEvt
115 lock (eflBindingEventLock)
117 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
119 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
122 Efl.Gesture.IEventsGestureTapEvt_Args args = new Efl.Gesture.IEventsGestureTapEvt_Args();
123 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureTap);
126 value?.Invoke(obj, args);
130 Eina.Log.Error(e.ToString());
131 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
136 string key = "_EFL_EVENT_GESTURE_TAP";
137 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
143 lock (eflBindingEventLock)
145 string key = "_EFL_EVENT_GESTURE_TAP";
146 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
150 ///<summary>Method to raise event GestureTapEvt.</summary>
151 public void OnGestureTapEvt(Efl.Gesture.IEventsGestureTapEvt_Args e)
153 var key = "_EFL_EVENT_GESTURE_TAP";
154 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
155 if (desc == IntPtr.Zero)
157 Eina.Log.Error($"Failed to get native event {key}");
161 IntPtr info = e.arg.NativeHandle;
162 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
164 /// <summary>Event for double tap gesture</summary>
165 public event EventHandler<Efl.Gesture.IEventsGestureDoubleTapEvt_Args> GestureDoubleTapEvt
169 lock (eflBindingEventLock)
171 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
173 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
176 Efl.Gesture.IEventsGestureDoubleTapEvt_Args args = new Efl.Gesture.IEventsGestureDoubleTapEvt_Args();
177 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureDoubleTap);
180 value?.Invoke(obj, args);
184 Eina.Log.Error(e.ToString());
185 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
190 string key = "_EFL_EVENT_GESTURE_DOUBLE_TAP";
191 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
197 lock (eflBindingEventLock)
199 string key = "_EFL_EVENT_GESTURE_DOUBLE_TAP";
200 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
204 ///<summary>Method to raise event GestureDoubleTapEvt.</summary>
205 public void OnGestureDoubleTapEvt(Efl.Gesture.IEventsGestureDoubleTapEvt_Args e)
207 var key = "_EFL_EVENT_GESTURE_DOUBLE_TAP";
208 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
209 if (desc == IntPtr.Zero)
211 Eina.Log.Error($"Failed to get native event {key}");
215 IntPtr info = e.arg.NativeHandle;
216 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
218 /// <summary>Event for triple tap gesture</summary>
219 public event EventHandler<Efl.Gesture.IEventsGestureTripleTapEvt_Args> GestureTripleTapEvt
223 lock (eflBindingEventLock)
225 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
227 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
230 Efl.Gesture.IEventsGestureTripleTapEvt_Args args = new Efl.Gesture.IEventsGestureTripleTapEvt_Args();
231 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureTripleTap);
234 value?.Invoke(obj, args);
238 Eina.Log.Error(e.ToString());
239 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
244 string key = "_EFL_EVENT_GESTURE_TRIPLE_TAP";
245 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
251 lock (eflBindingEventLock)
253 string key = "_EFL_EVENT_GESTURE_TRIPLE_TAP";
254 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
258 ///<summary>Method to raise event GestureTripleTapEvt.</summary>
259 public void OnGestureTripleTapEvt(Efl.Gesture.IEventsGestureTripleTapEvt_Args e)
261 var key = "_EFL_EVENT_GESTURE_TRIPLE_TAP";
262 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
263 if (desc == IntPtr.Zero)
265 Eina.Log.Error($"Failed to get native event {key}");
269 IntPtr info = e.arg.NativeHandle;
270 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
272 /// <summary>Event for long tap gesture</summary>
273 public event EventHandler<Efl.Gesture.IEventsGestureLongTapEvt_Args> GestureLongTapEvt
277 lock (eflBindingEventLock)
279 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
281 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
284 Efl.Gesture.IEventsGestureLongTapEvt_Args args = new Efl.Gesture.IEventsGestureLongTapEvt_Args();
285 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureLongTap);
288 value?.Invoke(obj, args);
292 Eina.Log.Error(e.ToString());
293 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
298 string key = "_EFL_EVENT_GESTURE_LONG_TAP";
299 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
305 lock (eflBindingEventLock)
307 string key = "_EFL_EVENT_GESTURE_LONG_TAP";
308 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
312 ///<summary>Method to raise event GestureLongTapEvt.</summary>
313 public void OnGestureLongTapEvt(Efl.Gesture.IEventsGestureLongTapEvt_Args e)
315 var key = "_EFL_EVENT_GESTURE_LONG_TAP";
316 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
317 if (desc == IntPtr.Zero)
319 Eina.Log.Error($"Failed to get native event {key}");
323 IntPtr info = e.arg.NativeHandle;
324 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
326 /// <summary>Event for momentum gesture</summary>
327 public event EventHandler<Efl.Gesture.IEventsGestureMomentumEvt_Args> GestureMomentumEvt
331 lock (eflBindingEventLock)
333 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
335 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
338 Efl.Gesture.IEventsGestureMomentumEvt_Args args = new Efl.Gesture.IEventsGestureMomentumEvt_Args();
339 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureMomentum);
342 value?.Invoke(obj, args);
346 Eina.Log.Error(e.ToString());
347 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
352 string key = "_EFL_EVENT_GESTURE_MOMENTUM";
353 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
359 lock (eflBindingEventLock)
361 string key = "_EFL_EVENT_GESTURE_MOMENTUM";
362 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
366 ///<summary>Method to raise event GestureMomentumEvt.</summary>
367 public void OnGestureMomentumEvt(Efl.Gesture.IEventsGestureMomentumEvt_Args e)
369 var key = "_EFL_EVENT_GESTURE_MOMENTUM";
370 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
371 if (desc == IntPtr.Zero)
373 Eina.Log.Error($"Failed to get native event {key}");
377 IntPtr info = e.arg.NativeHandle;
378 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
380 /// <summary>Event for flick gesture</summary>
381 public event EventHandler<Efl.Gesture.IEventsGestureFlickEvt_Args> GestureFlickEvt
385 lock (eflBindingEventLock)
387 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
389 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
392 Efl.Gesture.IEventsGestureFlickEvt_Args args = new Efl.Gesture.IEventsGestureFlickEvt_Args();
393 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureFlick);
396 value?.Invoke(obj, args);
400 Eina.Log.Error(e.ToString());
401 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
406 string key = "_EFL_EVENT_GESTURE_FLICK";
407 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
413 lock (eflBindingEventLock)
415 string key = "_EFL_EVENT_GESTURE_FLICK";
416 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
420 ///<summary>Method to raise event GestureFlickEvt.</summary>
421 public void OnGestureFlickEvt(Efl.Gesture.IEventsGestureFlickEvt_Args e)
423 var key = "_EFL_EVENT_GESTURE_FLICK";
424 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
425 if (desc == IntPtr.Zero)
427 Eina.Log.Error($"Failed to get native event {key}");
431 IntPtr info = e.arg.NativeHandle;
432 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
434 /// <summary>Event for zoom gesture</summary>
435 public event EventHandler<Efl.Gesture.IEventsGestureZoomEvt_Args> GestureZoomEvt
439 lock (eflBindingEventLock)
441 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
443 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
446 Efl.Gesture.IEventsGestureZoomEvt_Args args = new Efl.Gesture.IEventsGestureZoomEvt_Args();
447 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureZoom);
450 value?.Invoke(obj, args);
454 Eina.Log.Error(e.ToString());
455 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
460 string key = "_EFL_EVENT_GESTURE_ZOOM";
461 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
467 lock (eflBindingEventLock)
469 string key = "_EFL_EVENT_GESTURE_ZOOM";
470 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
474 ///<summary>Method to raise event GestureZoomEvt.</summary>
475 public void OnGestureZoomEvt(Efl.Gesture.IEventsGestureZoomEvt_Args e)
477 var key = "_EFL_EVENT_GESTURE_ZOOM";
478 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
479 if (desc == IntPtr.Zero)
481 Eina.Log.Error($"Failed to get native event {key}");
485 IntPtr info = e.arg.NativeHandle;
486 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
488 private static IntPtr GetEflClassStatic()
490 return Efl.Gesture.IEventsConcrete.efl_gesture_events_interface_get();
492 /// <summary>Wrapper for native methods and virtual method delegates.
493 /// For internal use by generated code only.</summary>
494 public new class NativeMethods : Efl.Eo.EoWrapper.NativeMethods
496 /// <summary>Gets the list of Eo operations to override.</summary>
497 /// <returns>The list of Eo operations to be overload.</returns>
498 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
500 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
503 /// <summary>Returns the Eo class for the native methods of this class.</summary>
504 /// <returns>The native class pointer.</returns>
505 public override IntPtr GetEflClass()
507 return Efl.Gesture.IEventsConcrete.efl_gesture_events_interface_get();
510 #pragma warning disable CA1707, CS1591, SA1300, SA1600
512 #pragma warning restore CA1707, CS1591, SA1300, SA1600