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>Native X11 surface for Efl canvas</summary>
9 [SurfaceX11NativeInherit]
10 public class SurfaceX11 : Efl.Canvas.Surface, Efl.Eo.IWrapper
12 ///<summary>Pointer to the native class description.</summary>
13 public override System.IntPtr NativeClass {
15 if (((object)this).GetType() == typeof (SurfaceX11))
16 return Efl.Canvas.SurfaceX11NativeInherit.GetEflClassStatic();
18 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
21 [System.Runtime.InteropServices.DllImport(efl.Libs.Evas)] internal static extern System.IntPtr
22 efl_canvas_surface_x11_class_get();
23 ///<summary>Creates a new instance.</summary>
24 ///<param name="parent">Parent instance.</param>
25 public SurfaceX11(Efl.Object parent= null
27 base(efl_canvas_surface_x11_class_get(), typeof(SurfaceX11), parent)
29 FinishInstantiation();
31 ///<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>
32 protected SurfaceX11(System.IntPtr raw) : base(raw)
34 RegisterEventProxies();
36 ///<summary>Internal usage: Constructor to forward the wrapper initialization to the root class that interfaces with native code. Should not be used directly.</summary>
37 protected SurfaceX11(IntPtr base_klass, System.Type managed_type, Efl.Object parent) : base(base_klass, managed_type, parent) {}
38 ///<summary>Verifies if the given object is equal to this one.</summary>
39 public override bool Equals(object obj)
41 var other = obj as Efl.Object;
44 return this.NativeHandle == other.NativeHandle;
46 ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
47 public override int GetHashCode()
49 return this.NativeHandle.ToInt32();
51 ///<summary>Turns the native pointer into a string representation.</summary>
52 public override String ToString()
54 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
56 ///<summary>Register the Eo event wrappers making the bridge to C# events. Internal usage only.</summary>
57 protected override void RegisterEventProxies()
59 base.RegisterEventProxies();
61 /// <summary>This is a helper for <see cref="Efl.Canvas.Surface.NativeBuffer"/>.</summary>
62 /// <param name="visual">X11 Visual for this Pixmap.</param>
63 /// <param name="pixmap">X11 Pixmap ID.</param>
64 /// <returns></returns>
65 virtual public void GetPixmap( out System.IntPtr visual, out uint pixmap) {
66 Efl.Canvas.SurfaceX11NativeInherit.efl_canvas_surface_x11_pixmap_get_ptr.Value.Delegate((inherited ? Efl.Eo.Globals.efl_super(this.NativeHandle, this.NativeClass) : this.NativeHandle), out visual, out pixmap);
67 Eina.Error.RaiseIfUnhandledException();
69 /// <summary>This is a helper for <see cref="Efl.Canvas.Surface.NativeBuffer"/>.</summary>
70 /// <param name="visual">X11 Visual for this Pixmap.</param>
71 /// <param name="pixmap">X11 Pixmap ID.</param>
72 /// <returns><c>true</c> on success, <c>false</c> otherwise</returns>
73 virtual public bool SetPixmap( System.IntPtr visual, uint pixmap) {
74 var _ret_var = Efl.Canvas.SurfaceX11NativeInherit.efl_canvas_surface_x11_pixmap_set_ptr.Value.Delegate((inherited ? Efl.Eo.Globals.efl_super(this.NativeHandle, this.NativeClass) : this.NativeHandle), visual, pixmap);
75 Eina.Error.RaiseIfUnhandledException();
78 private static IntPtr GetEflClassStatic()
80 return Efl.Canvas.SurfaceX11.efl_canvas_surface_x11_class_get();
83 public class SurfaceX11NativeInherit : Efl.Canvas.SurfaceNativeInherit{
84 public new static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Evas);
85 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
87 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
88 var methods = Efl.Eo.Globals.GetUserMethods(type);
89 if (efl_canvas_surface_x11_pixmap_get_static_delegate == null)
90 efl_canvas_surface_x11_pixmap_get_static_delegate = new efl_canvas_surface_x11_pixmap_get_delegate(pixmap_get);
91 if (methods.FirstOrDefault(m => m.Name == "GetPixmap") != null)
92 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_canvas_surface_x11_pixmap_get"), func = Marshal.GetFunctionPointerForDelegate(efl_canvas_surface_x11_pixmap_get_static_delegate)});
93 if (efl_canvas_surface_x11_pixmap_set_static_delegate == null)
94 efl_canvas_surface_x11_pixmap_set_static_delegate = new efl_canvas_surface_x11_pixmap_set_delegate(pixmap_set);
95 if (methods.FirstOrDefault(m => m.Name == "SetPixmap") != null)
96 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_canvas_surface_x11_pixmap_set"), func = Marshal.GetFunctionPointerForDelegate(efl_canvas_surface_x11_pixmap_set_static_delegate)});
97 descs.AddRange(base.GetEoOps(type));
100 public override IntPtr GetEflClass()
102 return Efl.Canvas.SurfaceX11.efl_canvas_surface_x11_class_get();
104 public static new IntPtr GetEflClassStatic()
106 return Efl.Canvas.SurfaceX11.efl_canvas_surface_x11_class_get();
110 private delegate void efl_canvas_surface_x11_pixmap_get_delegate(System.IntPtr obj, System.IntPtr pd, out System.IntPtr visual, out uint pixmap);
113 public delegate void efl_canvas_surface_x11_pixmap_get_api_delegate(System.IntPtr obj, out System.IntPtr visual, out uint pixmap);
114 public static Efl.Eo.FunctionWrapper<efl_canvas_surface_x11_pixmap_get_api_delegate> efl_canvas_surface_x11_pixmap_get_ptr = new Efl.Eo.FunctionWrapper<efl_canvas_surface_x11_pixmap_get_api_delegate>(_Module, "efl_canvas_surface_x11_pixmap_get");
115 private static void pixmap_get(System.IntPtr obj, System.IntPtr pd, out System.IntPtr visual, out uint pixmap)
117 Eina.Log.Debug("function efl_canvas_surface_x11_pixmap_get was called");
118 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
119 if(wrapper != null) {
120 visual = default(System.IntPtr); pixmap = default(uint);
122 ((SurfaceX11)wrapper).GetPixmap( out visual, out pixmap);
123 } catch (Exception e) {
124 Eina.Log.Warning($"Callback error: {e.ToString()}");
125 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
128 efl_canvas_surface_x11_pixmap_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), out visual, out pixmap);
131 private static efl_canvas_surface_x11_pixmap_get_delegate efl_canvas_surface_x11_pixmap_get_static_delegate;
134 [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_canvas_surface_x11_pixmap_set_delegate(System.IntPtr obj, System.IntPtr pd, System.IntPtr visual, uint pixmap);
137 [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_canvas_surface_x11_pixmap_set_api_delegate(System.IntPtr obj, System.IntPtr visual, uint pixmap);
138 public static Efl.Eo.FunctionWrapper<efl_canvas_surface_x11_pixmap_set_api_delegate> efl_canvas_surface_x11_pixmap_set_ptr = new Efl.Eo.FunctionWrapper<efl_canvas_surface_x11_pixmap_set_api_delegate>(_Module, "efl_canvas_surface_x11_pixmap_set");
139 private static bool pixmap_set(System.IntPtr obj, System.IntPtr pd, System.IntPtr visual, uint pixmap)
141 Eina.Log.Debug("function efl_canvas_surface_x11_pixmap_set was called");
142 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
143 if(wrapper != null) {
144 bool _ret_var = default(bool);
146 _ret_var = ((SurfaceX11)wrapper).SetPixmap( visual, pixmap);
147 } catch (Exception e) {
148 Eina.Log.Warning($"Callback error: {e.ToString()}");
149 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
153 return efl_canvas_surface_x11_pixmap_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), visual, pixmap);
156 private static efl_canvas_surface_x11_pixmap_set_delegate efl_canvas_surface_x11_pixmap_set_static_delegate;
159 namespace Efl { namespace Canvas {
160 /// <summary>The type used by <see cref="Efl.Canvas.Surface.NativeBuffer"/>.</summary>
161 [StructLayout(LayoutKind.Sequential)]
162 public struct SurfaceX11Pixmap
164 /// <summary>X11 Visual for this Pixmap.</summary>
165 public System.IntPtr Visual;
166 /// <summary>X11 Pixmap ID.</summary>
168 ///<summary>Constructor for SurfaceX11Pixmap.</summary>
169 public SurfaceX11Pixmap(
170 System.IntPtr Visual=default(System.IntPtr),
171 uint Pixmap=default(uint) )
173 this.Visual = Visual;
174 this.Pixmap = Pixmap;
177 public static implicit operator SurfaceX11Pixmap(IntPtr ptr)
179 var tmp = (SurfaceX11Pixmap.NativeStruct)Marshal.PtrToStructure(ptr, typeof(SurfaceX11Pixmap.NativeStruct));
183 ///<summary>Internal wrapper for struct SurfaceX11Pixmap.</summary>
184 [StructLayout(LayoutKind.Sequential)]
185 public struct NativeStruct
188 public System.IntPtr Visual;
191 ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
192 public static implicit operator SurfaceX11Pixmap.NativeStruct(SurfaceX11Pixmap _external_struct)
194 var _internal_struct = new SurfaceX11Pixmap.NativeStruct();
195 _internal_struct.Visual = _external_struct.Visual;
196 _internal_struct.Pixmap = _external_struct.Pixmap;
197 return _internal_struct;
200 ///<summary>Implicit conversion to the managed representation.</summary>
201 public static implicit operator SurfaceX11Pixmap(SurfaceX11Pixmap.NativeStruct _internal_struct)
203 var _external_struct = new SurfaceX11Pixmap();
204 _external_struct.Visual = _internal_struct.Visual;
205 _external_struct.Pixmap = _internal_struct.Pixmap;
206 return _external_struct;