1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.ComponentModel;
7 namespace Efl { namespace Canvas {
8 /// <summary>Low-level rectangle object.
9 /// 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.
11 /// 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).
13 /// Child objects are not modified in any way, unlike other types of smart objects.
15 /// 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.
17 [EventGrabberNativeInherit]
18 public class EventGrabber : Efl.Canvas.Group, Efl.Eo.IWrapper
20 public new static System.IntPtr klass = System.IntPtr.Zero;
21 public new static Efl.Canvas.EventGrabberNativeInherit nativeInherit = new Efl.Canvas.EventGrabberNativeInherit();
22 ///<summary>Pointer to the native class description.</summary>
23 public override System.IntPtr NativeClass {
25 if (((object)this).GetType() == typeof (EventGrabber))
26 return Efl.Canvas.EventGrabberNativeInherit.GetEflClassStatic();
28 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
31 [System.Runtime.InteropServices.DllImport(efl.Libs.Evas)] internal static extern System.IntPtr
32 efl_canvas_event_grabber_class_get();
33 ///<summary>Creates a new instance.</summary>
34 ///<param name="parent">Parent instance.</param>
35 public EventGrabber(Efl.Object parent= null
37 base(efl_canvas_event_grabber_class_get(), typeof(EventGrabber), parent)
39 FinishInstantiation();
41 ///<summary>Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>
42 public EventGrabber(System.IntPtr raw) : base(raw)
44 register_event_proxies();
46 ///<summary>Internal usage: Constructor to forward the wrapper initialization to the root class that interfaces with native code. Should not be used directly.</summary>
47 protected EventGrabber(IntPtr base_klass, System.Type managed_type, Efl.Object parent) : base(base_klass, managed_type, parent) {}
48 ///<summary>Casts obj into an instance of this type.</summary>
49 public new static EventGrabber static_cast(Efl.Object obj)
52 throw new System.ArgumentNullException("obj");
53 return new EventGrabber(obj.NativeHandle);
55 ///<summary>Verifies if the given object is equal to this one.</summary>
56 public override bool Equals(object obj)
58 var other = obj as Efl.Object;
61 return this.NativeHandle == other.NativeHandle;
63 ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
64 public override int GetHashCode()
66 return this.NativeHandle.ToInt32();
68 ///<summary>Turns the native pointer into a string representation.</summary>
69 public override String ToString()
71 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
73 protected override void register_event_proxies()
75 base.register_event_proxies();
77 /// <summary>Stops the grabber from updating its internal stacking order while visible
79 /// <returns>If <c>true</c>, stop updating
81 virtual public bool GetFreezeWhenVisible() {
82 var _ret_var = Efl.Canvas.EventGrabberNativeInherit.efl_canvas_event_grabber_freeze_when_visible_get_ptr.Value.Delegate((inherited ? Efl.Eo.Globals.efl_super(this.NativeHandle, this.NativeClass) : this.NativeHandle));
83 Eina.Error.RaiseIfUnhandledException();
86 /// <summary>Stops the grabber from updating its internal stacking order while visible
88 /// <param name="set">If <c>true</c>, stop updating
90 /// <returns></returns>
91 virtual public void SetFreezeWhenVisible( bool set) {
92 Efl.Canvas.EventGrabberNativeInherit.efl_canvas_event_grabber_freeze_when_visible_set_ptr.Value.Delegate((inherited ? Efl.Eo.Globals.efl_super(this.NativeHandle, this.NativeClass) : this.NativeHandle), set);
93 Eina.Error.RaiseIfUnhandledException();
95 /// <summary>Stops the grabber from updating its internal stacking order while visible
97 /// <value>If <c>true</c>, stop updating
99 public bool FreezeWhenVisible {
100 get { return GetFreezeWhenVisible(); }
101 set { SetFreezeWhenVisible( value); }
103 private static new IntPtr GetEflClassStatic()
105 return Efl.Canvas.EventGrabber.efl_canvas_event_grabber_class_get();
108 public class EventGrabberNativeInherit : Efl.Canvas.GroupNativeInherit{
109 public new static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Evas);
110 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
112 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
113 if (efl_canvas_event_grabber_freeze_when_visible_get_static_delegate == null)
114 efl_canvas_event_grabber_freeze_when_visible_get_static_delegate = new efl_canvas_event_grabber_freeze_when_visible_get_delegate(freeze_when_visible_get);
115 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)
117 efl_canvas_event_grabber_freeze_when_visible_set_static_delegate = new efl_canvas_event_grabber_freeze_when_visible_set_delegate(freeze_when_visible_set);
118 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)});
119 descs.AddRange(base.GetEoOps(type));
122 public override IntPtr GetEflClass()
124 return Efl.Canvas.EventGrabber.efl_canvas_event_grabber_class_get();
126 public static new IntPtr GetEflClassStatic()
128 return Efl.Canvas.EventGrabber.efl_canvas_event_grabber_class_get();
132 [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_canvas_event_grabber_freeze_when_visible_get_delegate(System.IntPtr obj, System.IntPtr pd);
135 [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_canvas_event_grabber_freeze_when_visible_get_api_delegate(System.IntPtr obj);
136 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");
137 private static bool freeze_when_visible_get(System.IntPtr obj, System.IntPtr pd)
139 Eina.Log.Debug("function efl_canvas_event_grabber_freeze_when_visible_get was called");
140 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
141 if(wrapper != null) {
142 bool _ret_var = default(bool);
144 _ret_var = ((EventGrabber)wrapper).GetFreezeWhenVisible();
145 } catch (Exception e) {
146 Eina.Log.Warning($"Callback error: {e.ToString()}");
147 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
151 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)));
154 private static efl_canvas_event_grabber_freeze_when_visible_get_delegate efl_canvas_event_grabber_freeze_when_visible_get_static_delegate;
157 private delegate void efl_canvas_event_grabber_freeze_when_visible_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool set);
160 public delegate void efl_canvas_event_grabber_freeze_when_visible_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool set);
161 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");
162 private static void freeze_when_visible_set(System.IntPtr obj, System.IntPtr pd, bool set)
164 Eina.Log.Debug("function efl_canvas_event_grabber_freeze_when_visible_set was called");
165 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
166 if(wrapper != null) {
169 ((EventGrabber)wrapper).SetFreezeWhenVisible( set);
170 } catch (Exception e) {
171 Eina.Log.Warning($"Callback error: {e.ToString()}");
172 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
175 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);
178 private static efl_canvas_event_grabber_freeze_when_visible_set_delegate efl_canvas_event_grabber_freeze_when_visible_set_static_delegate;