2 #pragma warning disable CS1591
4 using System.Runtime.InteropServices;
5 using System.Collections.Generic;
7 using System.Threading;
8 using System.ComponentModel;
13 /// <remarks>This is a <b>BETA</b> class. It can be modified or removed in the future. Do not use it for product development.</remarks>
14 [Efl.Gesture.IEventsConcrete.NativeMethods]
15 [Efl.Eo.BindingEntity]
16 public interface IEvents :
17 Efl.Eo.IWrapper, IDisposable
19 /// <summary>Event for tap gesture</summary>
20 /// <value><see cref="Efl.Gesture.IEventsGestureTapEvt_Args"/></value>
21 event EventHandler<Efl.Gesture.IEventsGestureTapEvt_Args> GestureTapEvt;
22 /// <summary>Event for double tap gesture</summary>
23 /// <value><see cref="Efl.Gesture.IEventsGestureDoubleTapEvt_Args"/></value>
24 event EventHandler<Efl.Gesture.IEventsGestureDoubleTapEvt_Args> GestureDoubleTapEvt;
25 /// <summary>Event for triple tap gesture</summary>
26 /// <value><see cref="Efl.Gesture.IEventsGestureTripleTapEvt_Args"/></value>
27 event EventHandler<Efl.Gesture.IEventsGestureTripleTapEvt_Args> GestureTripleTapEvt;
28 /// <summary>Event for long tap gesture</summary>
29 /// <value><see cref="Efl.Gesture.IEventsGestureLongTapEvt_Args"/></value>
30 event EventHandler<Efl.Gesture.IEventsGestureLongTapEvt_Args> GestureLongTapEvt;
31 /// <summary>Event for momentum gesture</summary>
32 /// <value><see cref="Efl.Gesture.IEventsGestureMomentumEvt_Args"/></value>
33 event EventHandler<Efl.Gesture.IEventsGestureMomentumEvt_Args> GestureMomentumEvt;
34 /// <summary>Event for flick gesture</summary>
35 /// <value><see cref="Efl.Gesture.IEventsGestureFlickEvt_Args"/></value>
36 event EventHandler<Efl.Gesture.IEventsGestureFlickEvt_Args> GestureFlickEvt;
37 /// <summary>Event for zoom gesture</summary>
38 /// <value><see cref="Efl.Gesture.IEventsGestureZoomEvt_Args"/></value>
39 event EventHandler<Efl.Gesture.IEventsGestureZoomEvt_Args> GestureZoomEvt;
41 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureTapEvt"/>.</summary>
42 [Efl.Eo.BindingEntity]
43 public class IEventsGestureTapEvt_Args : EventArgs {
44 /// <summary>Actual event payload.</summary>
45 /// <value>Event for tap gesture</value>
46 public Efl.Canvas.GestureTap arg { get; set; }
48 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureDoubleTapEvt"/>.</summary>
49 [Efl.Eo.BindingEntity]
50 public class IEventsGestureDoubleTapEvt_Args : EventArgs {
51 /// <summary>Actual event payload.</summary>
52 /// <value>Event for double tap gesture</value>
53 public Efl.Canvas.GestureDoubleTap arg { get; set; }
55 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureTripleTapEvt"/>.</summary>
56 [Efl.Eo.BindingEntity]
57 public class IEventsGestureTripleTapEvt_Args : EventArgs {
58 /// <summary>Actual event payload.</summary>
59 /// <value>Event for triple tap gesture</value>
60 public Efl.Canvas.GestureTripleTap arg { get; set; }
62 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureLongTapEvt"/>.</summary>
63 [Efl.Eo.BindingEntity]
64 public class IEventsGestureLongTapEvt_Args : EventArgs {
65 /// <summary>Actual event payload.</summary>
66 /// <value>Event for long tap gesture</value>
67 public Efl.Canvas.GestureLongTap arg { get; set; }
69 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureMomentumEvt"/>.</summary>
70 [Efl.Eo.BindingEntity]
71 public class IEventsGestureMomentumEvt_Args : EventArgs {
72 /// <summary>Actual event payload.</summary>
73 /// <value>Event for momentum gesture</value>
74 public Efl.Canvas.GestureMomentum arg { get; set; }
76 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureFlickEvt"/>.</summary>
77 [Efl.Eo.BindingEntity]
78 public class IEventsGestureFlickEvt_Args : EventArgs {
79 /// <summary>Actual event payload.</summary>
80 /// <value>Event for flick gesture</value>
81 public Efl.Canvas.GestureFlick arg { get; set; }
83 /// <summary>Event argument wrapper for event <see cref="Efl.Gesture.IEvents.GestureZoomEvt"/>.</summary>
84 [Efl.Eo.BindingEntity]
85 public class IEventsGestureZoomEvt_Args : EventArgs {
86 /// <summary>Actual event payload.</summary>
87 /// <value>Event for zoom gesture</value>
88 public Efl.Canvas.GestureZoom arg { get; set; }
90 /// <remarks>This is a <b>BETA</b> class. It can be modified or removed in the future. Do not use it for product development.</remarks>
91 sealed public class IEventsConcrete :
96 /// <summary>Pointer to the native class description.</summary>
97 public override System.IntPtr NativeClass
101 if (((object)this).GetType() == typeof(IEventsConcrete))
103 return GetEflClassStatic();
107 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
112 /// <summary>Subclasses should override this constructor if they are expected to be instantiated from native code.
113 /// Do not call this constructor directly.</summary>
114 /// <param name="ch">Tag struct storing the native handle of the object being constructed.</param>
115 private IEventsConcrete(ConstructingHandle ch) : base(ch)
119 [System.Runtime.InteropServices.DllImport(efl.Libs.Evas)] internal static extern System.IntPtr
120 efl_gesture_events_interface_get();
121 /// <summary>Initializes a new instance of the <see cref="IEvents"/> class.
122 /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
123 /// <param name="wh">The native pointer to be wrapped.</param>
124 private IEventsConcrete(Efl.Eo.Globals.WrappingHandle wh) : base(wh)
128 /// <summary>Event for tap gesture</summary>
129 /// <value><see cref="Efl.Gesture.IEventsGestureTapEvt_Args"/></value>
130 public event EventHandler<Efl.Gesture.IEventsGestureTapEvt_Args> GestureTapEvt
134 lock (eflBindingEventLock)
136 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
138 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
141 Efl.Gesture.IEventsGestureTapEvt_Args args = new Efl.Gesture.IEventsGestureTapEvt_Args();
142 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureTap);
145 value?.Invoke(obj, args);
149 Eina.Log.Error(e.ToString());
150 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
155 string key = "_EFL_EVENT_GESTURE_TAP";
156 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
162 lock (eflBindingEventLock)
164 string key = "_EFL_EVENT_GESTURE_TAP";
165 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
169 /// <summary>Method to raise event GestureTapEvt.</summary>
170 public void OnGestureTapEvt(Efl.Gesture.IEventsGestureTapEvt_Args e)
172 var key = "_EFL_EVENT_GESTURE_TAP";
173 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
174 if (desc == IntPtr.Zero)
176 Eina.Log.Error($"Failed to get native event {key}");
180 IntPtr info = e.arg.NativeHandle;
181 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
183 /// <summary>Event for double tap gesture</summary>
184 /// <value><see cref="Efl.Gesture.IEventsGestureDoubleTapEvt_Args"/></value>
185 public event EventHandler<Efl.Gesture.IEventsGestureDoubleTapEvt_Args> GestureDoubleTapEvt
189 lock (eflBindingEventLock)
191 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
193 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
196 Efl.Gesture.IEventsGestureDoubleTapEvt_Args args = new Efl.Gesture.IEventsGestureDoubleTapEvt_Args();
197 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureDoubleTap);
200 value?.Invoke(obj, args);
204 Eina.Log.Error(e.ToString());
205 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
210 string key = "_EFL_EVENT_GESTURE_DOUBLE_TAP";
211 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
217 lock (eflBindingEventLock)
219 string key = "_EFL_EVENT_GESTURE_DOUBLE_TAP";
220 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
224 /// <summary>Method to raise event GestureDoubleTapEvt.</summary>
225 public void OnGestureDoubleTapEvt(Efl.Gesture.IEventsGestureDoubleTapEvt_Args e)
227 var key = "_EFL_EVENT_GESTURE_DOUBLE_TAP";
228 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
229 if (desc == IntPtr.Zero)
231 Eina.Log.Error($"Failed to get native event {key}");
235 IntPtr info = e.arg.NativeHandle;
236 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
238 /// <summary>Event for triple tap gesture</summary>
239 /// <value><see cref="Efl.Gesture.IEventsGestureTripleTapEvt_Args"/></value>
240 public event EventHandler<Efl.Gesture.IEventsGestureTripleTapEvt_Args> GestureTripleTapEvt
244 lock (eflBindingEventLock)
246 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
248 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
251 Efl.Gesture.IEventsGestureTripleTapEvt_Args args = new Efl.Gesture.IEventsGestureTripleTapEvt_Args();
252 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureTripleTap);
255 value?.Invoke(obj, args);
259 Eina.Log.Error(e.ToString());
260 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
265 string key = "_EFL_EVENT_GESTURE_TRIPLE_TAP";
266 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
272 lock (eflBindingEventLock)
274 string key = "_EFL_EVENT_GESTURE_TRIPLE_TAP";
275 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
279 /// <summary>Method to raise event GestureTripleTapEvt.</summary>
280 public void OnGestureTripleTapEvt(Efl.Gesture.IEventsGestureTripleTapEvt_Args e)
282 var key = "_EFL_EVENT_GESTURE_TRIPLE_TAP";
283 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
284 if (desc == IntPtr.Zero)
286 Eina.Log.Error($"Failed to get native event {key}");
290 IntPtr info = e.arg.NativeHandle;
291 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
293 /// <summary>Event for long tap gesture</summary>
294 /// <value><see cref="Efl.Gesture.IEventsGestureLongTapEvt_Args"/></value>
295 public event EventHandler<Efl.Gesture.IEventsGestureLongTapEvt_Args> GestureLongTapEvt
299 lock (eflBindingEventLock)
301 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
303 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
306 Efl.Gesture.IEventsGestureLongTapEvt_Args args = new Efl.Gesture.IEventsGestureLongTapEvt_Args();
307 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureLongTap);
310 value?.Invoke(obj, args);
314 Eina.Log.Error(e.ToString());
315 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
320 string key = "_EFL_EVENT_GESTURE_LONG_TAP";
321 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
327 lock (eflBindingEventLock)
329 string key = "_EFL_EVENT_GESTURE_LONG_TAP";
330 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
334 /// <summary>Method to raise event GestureLongTapEvt.</summary>
335 public void OnGestureLongTapEvt(Efl.Gesture.IEventsGestureLongTapEvt_Args e)
337 var key = "_EFL_EVENT_GESTURE_LONG_TAP";
338 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
339 if (desc == IntPtr.Zero)
341 Eina.Log.Error($"Failed to get native event {key}");
345 IntPtr info = e.arg.NativeHandle;
346 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
348 /// <summary>Event for momentum gesture</summary>
349 /// <value><see cref="Efl.Gesture.IEventsGestureMomentumEvt_Args"/></value>
350 public event EventHandler<Efl.Gesture.IEventsGestureMomentumEvt_Args> GestureMomentumEvt
354 lock (eflBindingEventLock)
356 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
358 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
361 Efl.Gesture.IEventsGestureMomentumEvt_Args args = new Efl.Gesture.IEventsGestureMomentumEvt_Args();
362 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureMomentum);
365 value?.Invoke(obj, args);
369 Eina.Log.Error(e.ToString());
370 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
375 string key = "_EFL_EVENT_GESTURE_MOMENTUM";
376 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
382 lock (eflBindingEventLock)
384 string key = "_EFL_EVENT_GESTURE_MOMENTUM";
385 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
389 /// <summary>Method to raise event GestureMomentumEvt.</summary>
390 public void OnGestureMomentumEvt(Efl.Gesture.IEventsGestureMomentumEvt_Args e)
392 var key = "_EFL_EVENT_GESTURE_MOMENTUM";
393 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
394 if (desc == IntPtr.Zero)
396 Eina.Log.Error($"Failed to get native event {key}");
400 IntPtr info = e.arg.NativeHandle;
401 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
403 /// <summary>Event for flick gesture</summary>
404 /// <value><see cref="Efl.Gesture.IEventsGestureFlickEvt_Args"/></value>
405 public event EventHandler<Efl.Gesture.IEventsGestureFlickEvt_Args> GestureFlickEvt
409 lock (eflBindingEventLock)
411 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
413 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
416 Efl.Gesture.IEventsGestureFlickEvt_Args args = new Efl.Gesture.IEventsGestureFlickEvt_Args();
417 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureFlick);
420 value?.Invoke(obj, args);
424 Eina.Log.Error(e.ToString());
425 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
430 string key = "_EFL_EVENT_GESTURE_FLICK";
431 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
437 lock (eflBindingEventLock)
439 string key = "_EFL_EVENT_GESTURE_FLICK";
440 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
444 /// <summary>Method to raise event GestureFlickEvt.</summary>
445 public void OnGestureFlickEvt(Efl.Gesture.IEventsGestureFlickEvt_Args e)
447 var key = "_EFL_EVENT_GESTURE_FLICK";
448 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
449 if (desc == IntPtr.Zero)
451 Eina.Log.Error($"Failed to get native event {key}");
455 IntPtr info = e.arg.NativeHandle;
456 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
458 /// <summary>Event for zoom gesture</summary>
459 /// <value><see cref="Efl.Gesture.IEventsGestureZoomEvt_Args"/></value>
460 public event EventHandler<Efl.Gesture.IEventsGestureZoomEvt_Args> GestureZoomEvt
464 lock (eflBindingEventLock)
466 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
468 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
471 Efl.Gesture.IEventsGestureZoomEvt_Args args = new Efl.Gesture.IEventsGestureZoomEvt_Args();
472 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Canvas.GestureZoom);
475 value?.Invoke(obj, args);
479 Eina.Log.Error(e.ToString());
480 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
485 string key = "_EFL_EVENT_GESTURE_ZOOM";
486 AddNativeEventHandler(efl.Libs.Evas, key, callerCb, value);
492 lock (eflBindingEventLock)
494 string key = "_EFL_EVENT_GESTURE_ZOOM";
495 RemoveNativeEventHandler(efl.Libs.Evas, key, value);
499 /// <summary>Method to raise event GestureZoomEvt.</summary>
500 public void OnGestureZoomEvt(Efl.Gesture.IEventsGestureZoomEvt_Args e)
502 var key = "_EFL_EVENT_GESTURE_ZOOM";
503 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Evas, key);
504 if (desc == IntPtr.Zero)
506 Eina.Log.Error($"Failed to get native event {key}");
510 IntPtr info = e.arg.NativeHandle;
511 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
513 private static IntPtr GetEflClassStatic()
515 return Efl.Gesture.IEventsConcrete.efl_gesture_events_interface_get();
517 /// <summary>Wrapper for native methods and virtual method delegates.
518 /// For internal use by generated code only.</summary>
519 public new class NativeMethods : Efl.Eo.EoWrapper.NativeMethods
521 /// <summary>Gets the list of Eo operations to override.</summary>
522 /// <returns>The list of Eo operations to be overload.</returns>
523 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
525 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
528 /// <summary>Returns the Eo class for the native methods of this class.</summary>
529 /// <returns>The native class pointer.</returns>
530 public override IntPtr GetEflClass()
532 return Efl.Gesture.IEventsConcrete.efl_gesture_events_interface_get();
535 #pragma warning disable CA1707, CS1591, SA1300, SA1600
537 #pragma warning restore CA1707, CS1591, SA1300, SA1600
546 #pragma warning disable CS1591
547 public static class Efl_GestureIEventsConcrete_ExtensionMethods {
549 #pragma warning restore CS1591