1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.ComponentModel;
7 namespace Efl { namespace Gfx {
8 /// <summary>Efl frame controller of frame based animated object interface.</summary>
9 [IFrameControllerNativeInherit]
10 public interface IFrameController :
11 Efl.Eo.IWrapper, IDisposable
13 /// <summary>Check if an object can be animated (has multiple frames).
14 /// This will be <c>true</c> for animated object for instance but <c>false</c> for a single frame object.</summary>
15 /// <returns><c>true</c> if the object is animated</returns>
17 /// <summary>Index of the current frame of an animated object.
18 /// Ranges from 1 to <see cref="Efl.Gfx.IFrameController.GetFrameCount"/>. Valid only if <see cref="Efl.Gfx.IFrameController.GetAnimated"/>.</summary>
19 /// <returns>The index of current frame.</returns>
21 /// <summary>Set the frame to current frame of an animated object.</summary>
22 /// <param name="frame_index">The index of current frame.</param>
23 /// <returns>Returns <c>true</c> if the frame index is valid.</returns>
24 bool SetFrame( int frame_index);
25 /// <summary>Get the total number of frames of the object, if animated.
26 /// Returns -1 if not animated.</summary>
27 /// <returns>The number of frames in the animated object.</returns>
29 /// <summary>Get the kind of looping the animated object does.
30 /// This returns the kind of looping the animated object wants to do.
32 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>, you should display frames in a sequence like: 1->2->3->1->2->3->1...
34 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Pingpong"/>, it is better to display frames in a sequence like: 1->2->3->2->1->2->3->1...
36 /// The default type is <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>.</summary>
37 /// <returns>Loop type of the animated object.</returns>
38 Efl.Gfx.FrameControllerLoopHint GetLoopType();
39 /// <summary>Get the number times the animation of the object loops.
40 /// This returns loop count of animated object. The loop count is the number of times the animation will play fully from first to last frame until the animation should stop (at the final frame).
42 /// If 0 is returned, then looping should happen indefinitely (no limit to the number of times it loops).</summary>
43 /// <returns>The number of loop of an animated object.</returns>
45 /// <summary>Get the duration of a sequence of frames.
46 /// This returns total duration in seconds that the specified sequence of frames should take.
48 /// If <c>start_frame</c> is 1 and <c>frame_num</c> is 0, this returns the duration of frame 1. If <c>start_frame</c> is 1 and <c>frame_num</c> is 1, this returns the total duration of frame 1 + frame 2.</summary>
49 /// <param name="start_frame">The first frame, rangers from 1 to <see cref="Efl.Gfx.IFrameController.GetFrameCount"/>.</param>
50 /// <param name="frame_num">Number of frames in the sequence, starts from 0.</param>
51 /// <returns>Duration in seconds</returns>
52 double GetFrameDuration( int start_frame, int frame_num);
53 /// <summary>Check if an object can be animated (has multiple frames).
54 /// This will be <c>true</c> for animated object for instance but <c>false</c> for a single frame object.</summary>
55 /// <value><c>true</c> if the object is animated</value>
59 /// <summary>Index of the current frame of an animated object.
60 /// Ranges from 1 to <see cref="Efl.Gfx.IFrameController.GetFrameCount"/>. Valid only if <see cref="Efl.Gfx.IFrameController.GetAnimated"/>.</summary>
61 /// <value>The index of current frame.</value>
66 /// <summary>Get the total number of frames of the object, if animated.
67 /// Returns -1 if not animated.</summary>
68 /// <value>The number of frames in the animated object.</value>
72 /// <summary>Get the kind of looping the animated object does.
73 /// This returns the kind of looping the animated object wants to do.
75 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>, you should display frames in a sequence like: 1->2->3->1->2->3->1...
77 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Pingpong"/>, it is better to display frames in a sequence like: 1->2->3->2->1->2->3->1...
79 /// The default type is <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>.</summary>
80 /// <value>Loop type of the animated object.</value>
81 Efl.Gfx.FrameControllerLoopHint LoopType {
84 /// <summary>Get the number times the animation of the object loops.
85 /// This returns loop count of animated object. The loop count is the number of times the animation will play fully from first to last frame until the animation should stop (at the final frame).
87 /// If 0 is returned, then looping should happen indefinitely (no limit to the number of times it loops).</summary>
88 /// <value>The number of loop of an animated object.</value>
93 /// <summary>Efl frame controller of frame based animated object interface.</summary>
94 sealed public class IFrameControllerConcrete :
99 ///<summary>Pointer to the native class description.</summary>
100 public System.IntPtr NativeClass {
102 if (((object)this).GetType() == typeof (IFrameControllerConcrete))
103 return Efl.Gfx.IFrameControllerNativeInherit.GetEflClassStatic();
105 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
108 private System.IntPtr handle;
109 ///<summary>Pointer to the native instance.</summary>
110 public System.IntPtr NativeHandle {
111 get { return handle; }
113 [System.Runtime.InteropServices.DllImport(efl.Libs.Efl)] internal static extern System.IntPtr
114 efl_gfx_frame_controller_interface_get();
115 ///<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>
116 private IFrameControllerConcrete(System.IntPtr raw)
119 RegisterEventProxies();
121 ///<summary>Destructor.</summary>
122 ~IFrameControllerConcrete()
126 ///<summary>Releases the underlying native instance.</summary>
127 void Dispose(bool disposing)
129 if (handle != System.IntPtr.Zero) {
130 Efl.Eo.Globals.efl_unref(handle);
131 handle = System.IntPtr.Zero;
134 ///<summary>Releases the underlying native instance.</summary>
135 public void Dispose()
138 GC.SuppressFinalize(this);
140 ///<summary>Verifies if the given object is equal to this one.</summary>
141 public override bool Equals(object obj)
143 var other = obj as Efl.Object;
146 return this.NativeHandle == other.NativeHandle;
148 ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
149 public override int GetHashCode()
151 return this.NativeHandle.ToInt32();
153 ///<summary>Turns the native pointer into a string representation.</summary>
154 public override String ToString()
156 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
158 ///<summary>Register the Eo event wrappers making the bridge to C# events. Internal usage only.</summary>
159 void RegisterEventProxies()
162 /// <summary>Check if an object can be animated (has multiple frames).
163 /// This will be <c>true</c> for animated object for instance but <c>false</c> for a single frame object.</summary>
164 /// <returns><c>true</c> if the object is animated</returns>
165 public bool GetAnimated() {
166 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_animated_get_ptr.Value.Delegate(this.NativeHandle);
167 Eina.Error.RaiseIfUnhandledException();
170 /// <summary>Index of the current frame of an animated object.
171 /// Ranges from 1 to <see cref="Efl.Gfx.IFrameController.GetFrameCount"/>. Valid only if <see cref="Efl.Gfx.IFrameController.GetAnimated"/>.</summary>
172 /// <returns>The index of current frame.</returns>
173 public int GetFrame() {
174 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_frame_get_ptr.Value.Delegate(this.NativeHandle);
175 Eina.Error.RaiseIfUnhandledException();
178 /// <summary>Set the frame to current frame of an animated object.</summary>
179 /// <param name="frame_index">The index of current frame.</param>
180 /// <returns>Returns <c>true</c> if the frame index is valid.</returns>
181 public bool SetFrame( int frame_index) {
182 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_frame_set_ptr.Value.Delegate(this.NativeHandle, frame_index);
183 Eina.Error.RaiseIfUnhandledException();
186 /// <summary>Get the total number of frames of the object, if animated.
187 /// Returns -1 if not animated.</summary>
188 /// <returns>The number of frames in the animated object.</returns>
189 public int GetFrameCount() {
190 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_frame_count_get_ptr.Value.Delegate(this.NativeHandle);
191 Eina.Error.RaiseIfUnhandledException();
194 /// <summary>Get the kind of looping the animated object does.
195 /// This returns the kind of looping the animated object wants to do.
197 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>, you should display frames in a sequence like: 1->2->3->1->2->3->1...
199 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Pingpong"/>, it is better to display frames in a sequence like: 1->2->3->2->1->2->3->1...
201 /// The default type is <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>.</summary>
202 /// <returns>Loop type of the animated object.</returns>
203 public Efl.Gfx.FrameControllerLoopHint GetLoopType() {
204 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_loop_type_get_ptr.Value.Delegate(this.NativeHandle);
205 Eina.Error.RaiseIfUnhandledException();
208 /// <summary>Get the number times the animation of the object loops.
209 /// This returns loop count of animated object. The loop count is the number of times the animation will play fully from first to last frame until the animation should stop (at the final frame).
211 /// If 0 is returned, then looping should happen indefinitely (no limit to the number of times it loops).</summary>
212 /// <returns>The number of loop of an animated object.</returns>
213 public int GetLoopCount() {
214 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_loop_count_get_ptr.Value.Delegate(this.NativeHandle);
215 Eina.Error.RaiseIfUnhandledException();
218 /// <summary>Get the duration of a sequence of frames.
219 /// This returns total duration in seconds that the specified sequence of frames should take.
221 /// If <c>start_frame</c> is 1 and <c>frame_num</c> is 0, this returns the duration of frame 1. If <c>start_frame</c> is 1 and <c>frame_num</c> is 1, this returns the total duration of frame 1 + frame 2.</summary>
222 /// <param name="start_frame">The first frame, rangers from 1 to <see cref="Efl.Gfx.IFrameController.GetFrameCount"/>.</param>
223 /// <param name="frame_num">Number of frames in the sequence, starts from 0.</param>
224 /// <returns>Duration in seconds</returns>
225 public double GetFrameDuration( int start_frame, int frame_num) {
226 var _ret_var = Efl.Gfx.IFrameControllerNativeInherit.efl_gfx_frame_controller_frame_duration_get_ptr.Value.Delegate(this.NativeHandle, start_frame, frame_num);
227 Eina.Error.RaiseIfUnhandledException();
230 /// <summary>Check if an object can be animated (has multiple frames).
231 /// This will be <c>true</c> for animated object for instance but <c>false</c> for a single frame object.</summary>
232 /// <value><c>true</c> if the object is animated</value>
233 public bool Animated {
234 get { return GetAnimated(); }
236 /// <summary>Index of the current frame of an animated object.
237 /// Ranges from 1 to <see cref="Efl.Gfx.IFrameController.GetFrameCount"/>. Valid only if <see cref="Efl.Gfx.IFrameController.GetAnimated"/>.</summary>
238 /// <value>The index of current frame.</value>
240 get { return GetFrame(); }
241 set { SetFrame( value); }
243 /// <summary>Get the total number of frames of the object, if animated.
244 /// Returns -1 if not animated.</summary>
245 /// <value>The number of frames in the animated object.</value>
246 public int FrameCount {
247 get { return GetFrameCount(); }
249 /// <summary>Get the kind of looping the animated object does.
250 /// This returns the kind of looping the animated object wants to do.
252 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>, you should display frames in a sequence like: 1->2->3->1->2->3->1...
254 /// If it returns <see cref="Efl.Gfx.FrameControllerLoopHint.Pingpong"/>, it is better to display frames in a sequence like: 1->2->3->2->1->2->3->1...
256 /// The default type is <see cref="Efl.Gfx.FrameControllerLoopHint.Loop"/>.</summary>
257 /// <value>Loop type of the animated object.</value>
258 public Efl.Gfx.FrameControllerLoopHint LoopType {
259 get { return GetLoopType(); }
261 /// <summary>Get the number times the animation of the object loops.
262 /// This returns loop count of animated object. The loop count is the number of times the animation will play fully from first to last frame until the animation should stop (at the final frame).
264 /// If 0 is returned, then looping should happen indefinitely (no limit to the number of times it loops).</summary>
265 /// <value>The number of loop of an animated object.</value>
266 public int LoopCount {
267 get { return GetLoopCount(); }
269 private static IntPtr GetEflClassStatic()
271 return Efl.Gfx.IFrameControllerConcrete.efl_gfx_frame_controller_interface_get();
274 public class IFrameControllerNativeInherit : Efl.Eo.NativeClass{
275 public static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Efl);
276 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
278 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
279 var methods = Efl.Eo.Globals.GetUserMethods(type);
280 if (efl_gfx_frame_controller_animated_get_static_delegate == null)
281 efl_gfx_frame_controller_animated_get_static_delegate = new efl_gfx_frame_controller_animated_get_delegate(animated_get);
282 if (methods.FirstOrDefault(m => m.Name == "GetAnimated") != null)
283 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_animated_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_animated_get_static_delegate)});
284 if (efl_gfx_frame_controller_frame_get_static_delegate == null)
285 efl_gfx_frame_controller_frame_get_static_delegate = new efl_gfx_frame_controller_frame_get_delegate(frame_get);
286 if (methods.FirstOrDefault(m => m.Name == "GetFrame") != null)
287 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_frame_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_frame_get_static_delegate)});
288 if (efl_gfx_frame_controller_frame_set_static_delegate == null)
289 efl_gfx_frame_controller_frame_set_static_delegate = new efl_gfx_frame_controller_frame_set_delegate(frame_set);
290 if (methods.FirstOrDefault(m => m.Name == "SetFrame") != null)
291 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_frame_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_frame_set_static_delegate)});
292 if (efl_gfx_frame_controller_frame_count_get_static_delegate == null)
293 efl_gfx_frame_controller_frame_count_get_static_delegate = new efl_gfx_frame_controller_frame_count_get_delegate(frame_count_get);
294 if (methods.FirstOrDefault(m => m.Name == "GetFrameCount") != null)
295 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_frame_count_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_frame_count_get_static_delegate)});
296 if (efl_gfx_frame_controller_loop_type_get_static_delegate == null)
297 efl_gfx_frame_controller_loop_type_get_static_delegate = new efl_gfx_frame_controller_loop_type_get_delegate(loop_type_get);
298 if (methods.FirstOrDefault(m => m.Name == "GetLoopType") != null)
299 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_loop_type_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_loop_type_get_static_delegate)});
300 if (efl_gfx_frame_controller_loop_count_get_static_delegate == null)
301 efl_gfx_frame_controller_loop_count_get_static_delegate = new efl_gfx_frame_controller_loop_count_get_delegate(loop_count_get);
302 if (methods.FirstOrDefault(m => m.Name == "GetLoopCount") != null)
303 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_loop_count_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_loop_count_get_static_delegate)});
304 if (efl_gfx_frame_controller_frame_duration_get_static_delegate == null)
305 efl_gfx_frame_controller_frame_duration_get_static_delegate = new efl_gfx_frame_controller_frame_duration_get_delegate(frame_duration_get);
306 if (methods.FirstOrDefault(m => m.Name == "GetFrameDuration") != null)
307 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_frame_controller_frame_duration_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_frame_controller_frame_duration_get_static_delegate)});
310 public override IntPtr GetEflClass()
312 return Efl.Gfx.IFrameControllerConcrete.efl_gfx_frame_controller_interface_get();
314 public static IntPtr GetEflClassStatic()
316 return Efl.Gfx.IFrameControllerConcrete.efl_gfx_frame_controller_interface_get();
320 [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_gfx_frame_controller_animated_get_delegate(System.IntPtr obj, System.IntPtr pd);
323 [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_gfx_frame_controller_animated_get_api_delegate(System.IntPtr obj);
324 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_animated_get_api_delegate> efl_gfx_frame_controller_animated_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_animated_get_api_delegate>(_Module, "efl_gfx_frame_controller_animated_get");
325 private static bool animated_get(System.IntPtr obj, System.IntPtr pd)
327 Eina.Log.Debug("function efl_gfx_frame_controller_animated_get was called");
328 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
329 if(wrapper != null) {
330 bool _ret_var = default(bool);
332 _ret_var = ((IFrameController)wrapper).GetAnimated();
333 } catch (Exception e) {
334 Eina.Log.Warning($"Callback error: {e.ToString()}");
335 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
339 return efl_gfx_frame_controller_animated_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
342 private static efl_gfx_frame_controller_animated_get_delegate efl_gfx_frame_controller_animated_get_static_delegate;
345 private delegate int efl_gfx_frame_controller_frame_get_delegate(System.IntPtr obj, System.IntPtr pd);
348 public delegate int efl_gfx_frame_controller_frame_get_api_delegate(System.IntPtr obj);
349 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_get_api_delegate> efl_gfx_frame_controller_frame_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_get_api_delegate>(_Module, "efl_gfx_frame_controller_frame_get");
350 private static int frame_get(System.IntPtr obj, System.IntPtr pd)
352 Eina.Log.Debug("function efl_gfx_frame_controller_frame_get was called");
353 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
354 if(wrapper != null) {
355 int _ret_var = default(int);
357 _ret_var = ((IFrameController)wrapper).GetFrame();
358 } catch (Exception e) {
359 Eina.Log.Warning($"Callback error: {e.ToString()}");
360 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
364 return efl_gfx_frame_controller_frame_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
367 private static efl_gfx_frame_controller_frame_get_delegate efl_gfx_frame_controller_frame_get_static_delegate;
370 [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_gfx_frame_controller_frame_set_delegate(System.IntPtr obj, System.IntPtr pd, int frame_index);
373 [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_gfx_frame_controller_frame_set_api_delegate(System.IntPtr obj, int frame_index);
374 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_set_api_delegate> efl_gfx_frame_controller_frame_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_set_api_delegate>(_Module, "efl_gfx_frame_controller_frame_set");
375 private static bool frame_set(System.IntPtr obj, System.IntPtr pd, int frame_index)
377 Eina.Log.Debug("function efl_gfx_frame_controller_frame_set was called");
378 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
379 if(wrapper != null) {
380 bool _ret_var = default(bool);
382 _ret_var = ((IFrameController)wrapper).SetFrame( frame_index);
383 } catch (Exception e) {
384 Eina.Log.Warning($"Callback error: {e.ToString()}");
385 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
389 return efl_gfx_frame_controller_frame_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), frame_index);
392 private static efl_gfx_frame_controller_frame_set_delegate efl_gfx_frame_controller_frame_set_static_delegate;
395 private delegate int efl_gfx_frame_controller_frame_count_get_delegate(System.IntPtr obj, System.IntPtr pd);
398 public delegate int efl_gfx_frame_controller_frame_count_get_api_delegate(System.IntPtr obj);
399 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_count_get_api_delegate> efl_gfx_frame_controller_frame_count_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_count_get_api_delegate>(_Module, "efl_gfx_frame_controller_frame_count_get");
400 private static int frame_count_get(System.IntPtr obj, System.IntPtr pd)
402 Eina.Log.Debug("function efl_gfx_frame_controller_frame_count_get was called");
403 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
404 if(wrapper != null) {
405 int _ret_var = default(int);
407 _ret_var = ((IFrameController)wrapper).GetFrameCount();
408 } catch (Exception e) {
409 Eina.Log.Warning($"Callback error: {e.ToString()}");
410 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
414 return efl_gfx_frame_controller_frame_count_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
417 private static efl_gfx_frame_controller_frame_count_get_delegate efl_gfx_frame_controller_frame_count_get_static_delegate;
420 private delegate Efl.Gfx.FrameControllerLoopHint efl_gfx_frame_controller_loop_type_get_delegate(System.IntPtr obj, System.IntPtr pd);
423 public delegate Efl.Gfx.FrameControllerLoopHint efl_gfx_frame_controller_loop_type_get_api_delegate(System.IntPtr obj);
424 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_loop_type_get_api_delegate> efl_gfx_frame_controller_loop_type_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_loop_type_get_api_delegate>(_Module, "efl_gfx_frame_controller_loop_type_get");
425 private static Efl.Gfx.FrameControllerLoopHint loop_type_get(System.IntPtr obj, System.IntPtr pd)
427 Eina.Log.Debug("function efl_gfx_frame_controller_loop_type_get was called");
428 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
429 if(wrapper != null) {
430 Efl.Gfx.FrameControllerLoopHint _ret_var = default(Efl.Gfx.FrameControllerLoopHint);
432 _ret_var = ((IFrameController)wrapper).GetLoopType();
433 } catch (Exception e) {
434 Eina.Log.Warning($"Callback error: {e.ToString()}");
435 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
439 return efl_gfx_frame_controller_loop_type_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
442 private static efl_gfx_frame_controller_loop_type_get_delegate efl_gfx_frame_controller_loop_type_get_static_delegate;
445 private delegate int efl_gfx_frame_controller_loop_count_get_delegate(System.IntPtr obj, System.IntPtr pd);
448 public delegate int efl_gfx_frame_controller_loop_count_get_api_delegate(System.IntPtr obj);
449 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_loop_count_get_api_delegate> efl_gfx_frame_controller_loop_count_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_loop_count_get_api_delegate>(_Module, "efl_gfx_frame_controller_loop_count_get");
450 private static int loop_count_get(System.IntPtr obj, System.IntPtr pd)
452 Eina.Log.Debug("function efl_gfx_frame_controller_loop_count_get was called");
453 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
454 if(wrapper != null) {
455 int _ret_var = default(int);
457 _ret_var = ((IFrameController)wrapper).GetLoopCount();
458 } catch (Exception e) {
459 Eina.Log.Warning($"Callback error: {e.ToString()}");
460 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
464 return efl_gfx_frame_controller_loop_count_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
467 private static efl_gfx_frame_controller_loop_count_get_delegate efl_gfx_frame_controller_loop_count_get_static_delegate;
470 private delegate double efl_gfx_frame_controller_frame_duration_get_delegate(System.IntPtr obj, System.IntPtr pd, int start_frame, int frame_num);
473 public delegate double efl_gfx_frame_controller_frame_duration_get_api_delegate(System.IntPtr obj, int start_frame, int frame_num);
474 public static Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_duration_get_api_delegate> efl_gfx_frame_controller_frame_duration_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_frame_controller_frame_duration_get_api_delegate>(_Module, "efl_gfx_frame_controller_frame_duration_get");
475 private static double frame_duration_get(System.IntPtr obj, System.IntPtr pd, int start_frame, int frame_num)
477 Eina.Log.Debug("function efl_gfx_frame_controller_frame_duration_get was called");
478 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
479 if(wrapper != null) {
480 double _ret_var = default(double);
482 _ret_var = ((IFrameController)wrapper).GetFrameDuration( start_frame, frame_num);
483 } catch (Exception e) {
484 Eina.Log.Warning($"Callback error: {e.ToString()}");
485 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
489 return efl_gfx_frame_controller_frame_duration_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), start_frame, frame_num);
492 private static efl_gfx_frame_controller_frame_duration_get_delegate efl_gfx_frame_controller_frame_duration_get_static_delegate;
495 namespace Efl { namespace Gfx {
496 /// <summary>Frame loop modes</summary>
497 public enum FrameControllerLoopHint
499 /// <summary>No looping order specified.</summary>
501 /// <summary>Standard loop: 1->2->3->1->2->3->1</summary>
503 /// <summary>Ping-pong bouncing loop: 1->2->3->2->1->2->3->1</summary>