1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.Threading;
7 using System.ComponentModel;
12 /// <summary>Low-level rectangle object.
13 /// This provides a smart version of the typical "event rectangle", which allows objects to set this as their parent and route events to a group of objects. Events will not propagate to non-member objects below this object.
15 /// Adding members is done just like a normal smart object, using efl_canvas_group_member_add (Eo API) or evas_object_smart_member_add (legacy).
17 /// Child objects are not modified in any way, unlike other types of smart objects.
19 /// No child objects should be stacked above the event grabber parent while the grabber is visible. A critical error will be raised if this is detected.</summary>
20 [Efl.Canvas.EventGrabber.NativeMethods]
21 [Efl.Eo.BindingEntity]
22 public class EventGrabber : Efl.Canvas.Group
24 ///<summary>Pointer to the native class description.</summary>
25 public override System.IntPtr NativeClass
29 if (((object)this).GetType() == typeof(EventGrabber))
31 return GetEflClassStatic();
35 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
40 [System.Runtime.InteropServices.DllImport(efl.Libs.Evas)] internal static extern System.IntPtr
41 efl_canvas_event_grabber_class_get();
42 /// <summary>Initializes a new instance of the <see cref="EventGrabber"/> class.</summary>
43 /// <param name="parent">Parent instance.</param>
44 public EventGrabber(Efl.Object parent= null
45 ) : base(efl_canvas_event_grabber_class_get(), parent)
47 FinishInstantiation();
50 /// <summary>Constructor to be used when objects are expected to be constructed from native code.</summary>
51 /// <param name="ch">Tag struct storing the native handle of the object being constructed.</param>
52 protected EventGrabber(ConstructingHandle ch) : base(ch)
56 /// <summary>Initializes a new instance of the <see cref="EventGrabber"/> class.
57 /// Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>
58 /// <param name="wh">The native pointer to be wrapped.</param>
59 protected EventGrabber(Efl.Eo.Globals.WrappingHandle wh) : base(wh)
63 /// <summary>Initializes a new instance of the <see cref="EventGrabber"/> class.
64 /// Internal usage: Constructor to forward the wrapper initialization to the root class that interfaces with native code. Should not be used directly.</summary>
65 /// <param name="baseKlass">The pointer to the base native Eo class.</param>
66 /// <param name="parent">The Efl.Object parent of this instance.</param>
67 protected EventGrabber(IntPtr baseKlass, Efl.Object parent) : base(baseKlass, parent)
71 /// <summary>Stops the grabber from updating its internal stacking order while visible</summary>
72 /// <returns>If <c>true</c>, stop updating</returns>
73 virtual public bool GetFreezeWhenVisible() {
74 var _ret_var = Efl.Canvas.EventGrabber.NativeMethods.efl_canvas_event_grabber_freeze_when_visible_get_ptr.Value.Delegate((IsGeneratedBindingClass ? this.NativeHandle : Efl.Eo.Globals.efl_super(this.NativeHandle, this.NativeClass)));
75 Eina.Error.RaiseIfUnhandledException();
78 /// <summary>Stops the grabber from updating its internal stacking order while visible</summary>
79 /// <param name="set">If <c>true</c>, stop updating</param>
80 virtual public void SetFreezeWhenVisible(bool set) {
81 Efl.Canvas.EventGrabber.NativeMethods.efl_canvas_event_grabber_freeze_when_visible_set_ptr.Value.Delegate((IsGeneratedBindingClass ? this.NativeHandle : Efl.Eo.Globals.efl_super(this.NativeHandle, this.NativeClass)),set);
82 Eina.Error.RaiseIfUnhandledException();
84 /// <summary>Stops the grabber from updating its internal stacking order while visible</summary>
85 /// <value>If <c>true</c>, stop updating</value>
86 public bool FreezeWhenVisible {
87 get { return GetFreezeWhenVisible(); }
88 set { SetFreezeWhenVisible(value); }
90 private static IntPtr GetEflClassStatic()
92 return Efl.Canvas.EventGrabber.efl_canvas_event_grabber_class_get();
94 /// <summary>Wrapper for native methods and virtual method delegates.
95 /// For internal use by generated code only.</summary>
96 public new class NativeMethods : Efl.Canvas.Group.NativeMethods
98 private static Efl.Eo.NativeModule Module = new Efl.Eo.NativeModule( efl.Libs.Evas);
99 /// <summary>Gets the list of Eo operations to override.</summary>
100 /// <returns>The list of Eo operations to be overload.</returns>
101 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
103 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
104 var methods = Efl.Eo.Globals.GetUserMethods(type);
106 if (efl_canvas_event_grabber_freeze_when_visible_get_static_delegate == null)
108 efl_canvas_event_grabber_freeze_when_visible_get_static_delegate = new efl_canvas_event_grabber_freeze_when_visible_get_delegate(freeze_when_visible_get);
111 if (methods.FirstOrDefault(m => m.Name == "GetFreezeWhenVisible") != null)
113 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_canvas_event_grabber_freeze_when_visible_get"), func = Marshal.GetFunctionPointerForDelegate(efl_canvas_event_grabber_freeze_when_visible_get_static_delegate) });
116 if (efl_canvas_event_grabber_freeze_when_visible_set_static_delegate == null)
118 efl_canvas_event_grabber_freeze_when_visible_set_static_delegate = new efl_canvas_event_grabber_freeze_when_visible_set_delegate(freeze_when_visible_set);
121 if (methods.FirstOrDefault(m => m.Name == "SetFreezeWhenVisible") != null)
123 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_canvas_event_grabber_freeze_when_visible_set"), func = Marshal.GetFunctionPointerForDelegate(efl_canvas_event_grabber_freeze_when_visible_set_static_delegate) });
126 descs.AddRange(base.GetEoOps(type));
129 /// <summary>Returns the Eo class for the native methods of this class.</summary>
130 /// <returns>The native class pointer.</returns>
131 public override IntPtr GetEflClass()
133 return Efl.Canvas.EventGrabber.efl_canvas_event_grabber_class_get();
136 #pragma warning disable CA1707, CS1591, SA1300, SA1600
138 [return: MarshalAs(UnmanagedType.U1)]
139 private delegate bool efl_canvas_event_grabber_freeze_when_visible_get_delegate(System.IntPtr obj, System.IntPtr pd);
141 [return: MarshalAs(UnmanagedType.U1)]
142 public delegate bool efl_canvas_event_grabber_freeze_when_visible_get_api_delegate(System.IntPtr obj);
144 public static Efl.Eo.FunctionWrapper<efl_canvas_event_grabber_freeze_when_visible_get_api_delegate> efl_canvas_event_grabber_freeze_when_visible_get_ptr = new Efl.Eo.FunctionWrapper<efl_canvas_event_grabber_freeze_when_visible_get_api_delegate>(Module, "efl_canvas_event_grabber_freeze_when_visible_get");
146 private static bool freeze_when_visible_get(System.IntPtr obj, System.IntPtr pd)
148 Eina.Log.Debug("function efl_canvas_event_grabber_freeze_when_visible_get was called");
149 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
152 bool _ret_var = default(bool);
155 _ret_var = ((EventGrabber)ws.Target).GetFreezeWhenVisible();
159 Eina.Log.Warning($"Callback error: {e.ToString()}");
160 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
168 return efl_canvas_event_grabber_freeze_when_visible_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
172 private static efl_canvas_event_grabber_freeze_when_visible_get_delegate efl_canvas_event_grabber_freeze_when_visible_get_static_delegate;
175 private delegate void efl_canvas_event_grabber_freeze_when_visible_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool set);
178 public delegate void efl_canvas_event_grabber_freeze_when_visible_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool set);
180 public static Efl.Eo.FunctionWrapper<efl_canvas_event_grabber_freeze_when_visible_set_api_delegate> efl_canvas_event_grabber_freeze_when_visible_set_ptr = new Efl.Eo.FunctionWrapper<efl_canvas_event_grabber_freeze_when_visible_set_api_delegate>(Module, "efl_canvas_event_grabber_freeze_when_visible_set");
182 private static void freeze_when_visible_set(System.IntPtr obj, System.IntPtr pd, bool set)
184 Eina.Log.Debug("function efl_canvas_event_grabber_freeze_when_visible_set was called");
185 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
191 ((EventGrabber)ws.Target).SetFreezeWhenVisible(set);
195 Eina.Log.Warning($"Callback error: {e.ToString()}");
196 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
203 efl_canvas_event_grabber_freeze_when_visible_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), set);
207 private static efl_canvas_event_grabber_freeze_when_visible_set_delegate efl_canvas_event_grabber_freeze_when_visible_set_static_delegate;
209 #pragma warning restore CA1707, CS1591, SA1300, SA1600