1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.ComponentModel;
7 namespace Efl { namespace Input {
8 /// <summary>Efl input state interface.
9 /// (Since EFL 1.22)</summary>
11 public interface IState :
12 Efl.Eo.IWrapper, IDisposable
14 /// <summary>Indicates whether a key modifier is on, such as Ctrl, Shift, ...
15 /// (Since EFL 1.22)</summary>
16 /// <param name="mod">The modifier key to test.</param>
17 /// <param name="seat">The seat device, may be <c>null</c></param>
18 /// <returns><c>true</c> if the key modifier is pressed.</returns>
19 bool GetModifierEnabled( Efl.Input.Modifier mod, Efl.Input.Device seat);
20 /// <summary>Indicates whether a key lock is on, such as NumLock, CapsLock, ...
21 /// (Since EFL 1.22)</summary>
22 /// <param name="kw_lock">The lock key to test.</param>
23 /// <param name="seat">The seat device, may be <c>null</c></param>
24 /// <returns><c>true</c> if the key lock is on.</returns>
25 bool GetLockEnabled( Efl.Input.Lock kw_lock, Efl.Input.Device seat);
27 /// <summary>Efl input state interface.
28 /// (Since EFL 1.22)</summary>
29 sealed public class IStateConcrete :
34 ///<summary>Pointer to the native class description.</summary>
35 public System.IntPtr NativeClass {
37 if (((object)this).GetType() == typeof (IStateConcrete))
38 return Efl.Input.IStateNativeInherit.GetEflClassStatic();
40 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
43 private System.IntPtr handle;
44 ///<summary>Pointer to the native instance.</summary>
45 public System.IntPtr NativeHandle {
46 get { return handle; }
48 [System.Runtime.InteropServices.DllImport(efl.Libs.Evas)] internal static extern System.IntPtr
49 efl_input_state_interface_get();
50 ///<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>
51 private IStateConcrete(System.IntPtr raw)
54 RegisterEventProxies();
56 ///<summary>Destructor.</summary>
61 ///<summary>Releases the underlying native instance.</summary>
62 void Dispose(bool disposing)
64 if (handle != System.IntPtr.Zero) {
65 Efl.Eo.Globals.efl_unref(handle);
66 handle = System.IntPtr.Zero;
69 ///<summary>Releases the underlying native instance.</summary>
73 GC.SuppressFinalize(this);
75 ///<summary>Verifies if the given object is equal to this one.</summary>
76 public override bool Equals(object obj)
78 var other = obj as Efl.Object;
81 return this.NativeHandle == other.NativeHandle;
83 ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
84 public override int GetHashCode()
86 return this.NativeHandle.ToInt32();
88 ///<summary>Turns the native pointer into a string representation.</summary>
89 public override String ToString()
91 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
93 ///<summary>Register the Eo event wrappers making the bridge to C# events. Internal usage only.</summary>
94 void RegisterEventProxies()
97 /// <summary>Indicates whether a key modifier is on, such as Ctrl, Shift, ...
98 /// (Since EFL 1.22)</summary>
99 /// <param name="mod">The modifier key to test.</param>
100 /// <param name="seat">The seat device, may be <c>null</c></param>
101 /// <returns><c>true</c> if the key modifier is pressed.</returns>
102 public bool GetModifierEnabled( Efl.Input.Modifier mod, Efl.Input.Device seat) {
103 var _ret_var = Efl.Input.IStateNativeInherit.efl_input_modifier_enabled_get_ptr.Value.Delegate(this.NativeHandle, mod, seat);
104 Eina.Error.RaiseIfUnhandledException();
107 /// <summary>Indicates whether a key lock is on, such as NumLock, CapsLock, ...
108 /// (Since EFL 1.22)</summary>
109 /// <param name="kw_lock">The lock key to test.</param>
110 /// <param name="seat">The seat device, may be <c>null</c></param>
111 /// <returns><c>true</c> if the key lock is on.</returns>
112 public bool GetLockEnabled( Efl.Input.Lock kw_lock, Efl.Input.Device seat) {
113 var _ret_var = Efl.Input.IStateNativeInherit.efl_input_lock_enabled_get_ptr.Value.Delegate(this.NativeHandle, kw_lock, seat);
114 Eina.Error.RaiseIfUnhandledException();
117 private static IntPtr GetEflClassStatic()
119 return Efl.Input.IStateConcrete.efl_input_state_interface_get();
122 public class IStateNativeInherit : Efl.Eo.NativeClass{
123 public static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Evas);
124 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
126 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
127 var methods = Efl.Eo.Globals.GetUserMethods(type);
128 if (efl_input_modifier_enabled_get_static_delegate == null)
129 efl_input_modifier_enabled_get_static_delegate = new efl_input_modifier_enabled_get_delegate(modifier_enabled_get);
130 if (methods.FirstOrDefault(m => m.Name == "GetModifierEnabled") != null)
131 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_input_modifier_enabled_get"), func = Marshal.GetFunctionPointerForDelegate(efl_input_modifier_enabled_get_static_delegate)});
132 if (efl_input_lock_enabled_get_static_delegate == null)
133 efl_input_lock_enabled_get_static_delegate = new efl_input_lock_enabled_get_delegate(lock_enabled_get);
134 if (methods.FirstOrDefault(m => m.Name == "GetLockEnabled") != null)
135 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_input_lock_enabled_get"), func = Marshal.GetFunctionPointerForDelegate(efl_input_lock_enabled_get_static_delegate)});
138 public override IntPtr GetEflClass()
140 return Efl.Input.IStateConcrete.efl_input_state_interface_get();
142 public static IntPtr GetEflClassStatic()
144 return Efl.Input.IStateConcrete.efl_input_state_interface_get();
148 [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_input_modifier_enabled_get_delegate(System.IntPtr obj, System.IntPtr pd, Efl.Input.Modifier mod, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Input.Device, Efl.Eo.NonOwnTag>))] Efl.Input.Device seat);
151 [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_input_modifier_enabled_get_api_delegate(System.IntPtr obj, Efl.Input.Modifier mod, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Input.Device, Efl.Eo.NonOwnTag>))] Efl.Input.Device seat);
152 public static Efl.Eo.FunctionWrapper<efl_input_modifier_enabled_get_api_delegate> efl_input_modifier_enabled_get_ptr = new Efl.Eo.FunctionWrapper<efl_input_modifier_enabled_get_api_delegate>(_Module, "efl_input_modifier_enabled_get");
153 private static bool modifier_enabled_get(System.IntPtr obj, System.IntPtr pd, Efl.Input.Modifier mod, Efl.Input.Device seat)
155 Eina.Log.Debug("function efl_input_modifier_enabled_get was called");
156 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
157 if(wrapper != null) {
158 bool _ret_var = default(bool);
160 _ret_var = ((IState)wrapper).GetModifierEnabled( mod, seat);
161 } catch (Exception e) {
162 Eina.Log.Warning($"Callback error: {e.ToString()}");
163 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
167 return efl_input_modifier_enabled_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), mod, seat);
170 private static efl_input_modifier_enabled_get_delegate efl_input_modifier_enabled_get_static_delegate;
173 [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_input_lock_enabled_get_delegate(System.IntPtr obj, System.IntPtr pd, Efl.Input.Lock kw_lock, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Input.Device, Efl.Eo.NonOwnTag>))] Efl.Input.Device seat);
176 [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_input_lock_enabled_get_api_delegate(System.IntPtr obj, Efl.Input.Lock kw_lock, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Input.Device, Efl.Eo.NonOwnTag>))] Efl.Input.Device seat);
177 public static Efl.Eo.FunctionWrapper<efl_input_lock_enabled_get_api_delegate> efl_input_lock_enabled_get_ptr = new Efl.Eo.FunctionWrapper<efl_input_lock_enabled_get_api_delegate>(_Module, "efl_input_lock_enabled_get");
178 private static bool lock_enabled_get(System.IntPtr obj, System.IntPtr pd, Efl.Input.Lock kw_lock, Efl.Input.Device seat)
180 Eina.Log.Debug("function efl_input_lock_enabled_get was called");
181 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
182 if(wrapper != null) {
183 bool _ret_var = default(bool);
185 _ret_var = ((IState)wrapper).GetLockEnabled( kw_lock, seat);
186 } catch (Exception e) {
187 Eina.Log.Warning($"Callback error: {e.ToString()}");
188 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
192 return efl_input_lock_enabled_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), kw_lock, seat);
195 private static efl_input_lock_enabled_get_delegate efl_input_lock_enabled_get_static_delegate;