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>Common APIs for all loadable 2D images.</summary>
13 [Efl.Gfx.IImageLoadControllerConcrete.NativeMethods]
14 public interface IImageLoadController :
15 Efl.Eo.IWrapper, IDisposable
17 /// <summary>Returns the requested load size.</summary>
18 /// <returns>The image load size.</returns>
19 Eina.Size2D GetLoadSize();
20 /// <summary>Requests the canvas to load the image at the given size.
21 /// EFL will try to load an image of the requested size but does not guarantee an exact match between the request and the loaded image dimensions.</summary>
22 /// <param name="size">The image load size.</param>
23 void SetLoadSize(Eina.Size2D size);
24 /// <summary>Get the DPI resolution of a loaded image object in the canvas.
25 /// This function returns the DPI resolution of the given canvas image.</summary>
26 /// <returns>The DPI resolution.</returns>
28 /// <summary>Set the DPI resolution of an image object's source image.
29 /// This function sets the DPI resolution of a given loaded canvas image. Most useful for the SVG image loader.</summary>
30 /// <param name="dpi">The DPI resolution.</param>
31 void SetLoadDpi(double dpi);
32 /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
33 /// <returns><c>true</c> if region load of the image is supported, <c>false</c> otherwise</returns>
34 bool GetLoadRegionSupport();
35 /// <summary>Retrieve the coordinates of a given image object's selective (source image) load region.</summary>
36 /// <returns>A region of the image.</returns>
37 Eina.Rect GetLoadRegion();
38 /// <summary>Inform a given image object to load a selective region of its source image.
39 /// This function is useful when one is not showing all of an image's area on its image object.
41 /// Note: The image loader for the image format in question has to support selective region loading in order for this function to work.</summary>
42 /// <param name="region">A region of the image.</param>
43 void SetLoadRegion(Eina.Rect region);
44 /// <summary>Defines whether the orientation information in the image file should be honored.
45 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
46 /// <returns><c>true</c> means that it should honor the orientation information.</returns>
47 bool GetLoadOrientation();
48 /// <summary>Defines whether the orientation information in the image file should be honored.
49 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
50 /// <param name="enable"><c>true</c> means that it should honor the orientation information.</param>
51 void SetLoadOrientation(bool enable);
52 /// <summary>The scale down factor is a divider on the original image size.
53 /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
55 /// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
57 /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
58 /// <returns>The scale down dividing factor.</returns>
59 int GetLoadScaleDown();
60 /// <summary>Requests the image loader to scale down by <c>div</c> times. Call this before starting the actual image load.</summary>
61 /// <param name="div">The scale down dividing factor.</param>
62 void SetLoadScaleDown(int div);
63 /// <summary>Initial load should skip header check and leave it all to data load
64 /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
65 /// <returns>Will be true if header is to be skipped.</returns>
66 bool GetLoadSkipHeader();
67 /// <summary>Set the skip header state for susbsequent loads of a file.</summary>
68 /// <param name="skip">Will be true if header is to be skipped.</param>
69 void SetLoadSkipHeader(bool skip);
70 /// <summary>Begin preloading an image object's image data in the background.
71 /// Once the background task is complete the event <c>load</c>,done will be emitted.</summary>
72 void LoadAsyncStart();
73 /// <summary>Cancel preloading an image object's image data in the background.
74 /// The object should be left in a state where it has no image data. If cancel is called too late, the image will be kept in memory.</summary>
75 void LoadAsyncCancel();
76 /// <summary>Called when he image was loaded</summary>
77 event EventHandler LoadDoneEvt;
78 /// <summary>Called when an error happened during image loading</summary>
79 event EventHandler<Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args> LoadErrorEvt;
80 /// <summary>The load size of an image.
81 /// The image will be loaded into memory as if it was the specified size instead of its original size. This can save a lot of memory and is important for scalable types like svg.
83 /// By default, the load size is not specified, so it is 0x0.</summary>
84 /// <value>The image load size.</value>
85 Eina.Size2D LoadSize {
89 /// <summary>Get the DPI resolution of a loaded image object in the canvas.
90 /// This function returns the DPI resolution of the given canvas image.</summary>
91 /// <value>The DPI resolution.</value>
96 /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
97 /// <value><c>true</c> if region load of the image is supported, <c>false</c> otherwise</value>
98 bool LoadRegionSupport {
101 /// <summary>Retrieve the coordinates of a given image object's selective (source image) load region.</summary>
102 /// <value>A region of the image.</value>
103 Eina.Rect LoadRegion {
107 /// <summary>Defines whether the orientation information in the image file should be honored.
108 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
109 /// <value><c>true</c> means that it should honor the orientation information.</value>
110 bool LoadOrientation {
114 /// <summary>The scale down factor is a divider on the original image size.
115 /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
117 /// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
119 /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
120 /// <value>The scale down dividing factor.</value>
125 /// <summary>Initial load should skip header check and leave it all to data load
126 /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
127 /// <value>Will be true if header is to be skipped.</value>
128 bool LoadSkipHeader {
133 ///<summary>Event argument wrapper for event <see cref="Efl.Gfx.IImageLoadController.LoadErrorEvt"/>.</summary>
134 public class IImageLoadControllerLoadErrorEvt_Args : EventArgs {
135 ///<summary>Actual event payload.</summary>
136 public Eina.Error arg { get; set; }
138 /// <summary>Common APIs for all loadable 2D images.</summary>
139 sealed public class IImageLoadControllerConcrete :
144 ///<summary>Pointer to the native class description.</summary>
145 public System.IntPtr NativeClass
149 if (((object)this).GetType() == typeof(IImageLoadControllerConcrete))
151 return GetEflClassStatic();
155 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
160 private Dictionary<(IntPtr desc, object evtDelegate), (IntPtr evtCallerPtr, Efl.EventCb evtCaller)> eoEvents = new Dictionary<(IntPtr desc, object evtDelegate), (IntPtr evtCallerPtr, Efl.EventCb evtCaller)>();
161 private readonly object eventLock = new object();
162 private System.IntPtr handle;
163 ///<summary>Pointer to the native instance.</summary>
164 public System.IntPtr NativeHandle
166 get { return handle; }
169 [System.Runtime.InteropServices.DllImport(efl.Libs.Efl)] internal static extern System.IntPtr
170 efl_gfx_image_load_controller_interface_get();
171 /// <summary>Initializes a new instance of the <see cref="IImageLoadController"/> class.
172 /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
173 private IImageLoadControllerConcrete(System.IntPtr raw)
177 ///<summary>Destructor.</summary>
178 ~IImageLoadControllerConcrete()
183 ///<summary>Releases the underlying native instance.</summary>
184 private void Dispose(bool disposing)
186 if (handle != System.IntPtr.Zero)
189 handle = IntPtr.Zero;
191 IntPtr gcHandlePtr = IntPtr.Zero;
192 if (eoEvents.Count != 0)
194 GCHandle gcHandle = GCHandle.Alloc(eoEvents);
195 gcHandlePtr = GCHandle.ToIntPtr(gcHandle);
200 Efl.Eo.Globals.efl_mono_native_dispose(h, gcHandlePtr);
204 Monitor.Enter(Efl.All.InitLock);
205 if (Efl.All.MainLoopInitialized)
207 Efl.Eo.Globals.efl_mono_thread_safe_native_dispose(h, gcHandlePtr);
210 Monitor.Exit(Efl.All.InitLock);
216 ///<summary>Releases the underlying native instance.</summary>
217 public void Dispose()
220 GC.SuppressFinalize(this);
223 /// <summary>Verifies if the given object is equal to this one.</summary>
224 /// <param name="instance">The object to compare to.</param>
225 /// <returns>True if both objects point to the same native object.</returns>
226 public override bool Equals(object instance)
228 var other = instance as Efl.Object;
233 return this.NativeHandle == other.NativeHandle;
236 /// <summary>Gets the hash code for this object based on the native pointer it points to.</summary>
237 /// <returns>The value of the pointer, to be used as the hash code of this object.</returns>
238 public override int GetHashCode()
240 return this.NativeHandle.ToInt32();
243 /// <summary>Turns the native pointer into a string representation.</summary>
244 /// <returns>A string with the type and the native pointer for this object.</returns>
245 public override String ToString()
247 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
250 ///<summary>Adds a new event handler, registering it to the native event. For internal use only.</summary>
251 ///<param name="lib">The name of the native library definining the event.</param>
252 ///<param name="key">The name of the native event.</param>
253 ///<param name="evtCaller">Delegate to be called by native code on event raising.</param>
254 ///<param name="evtDelegate">Managed delegate that will be called by evtCaller on event raising.</param>
255 private void AddNativeEventHandler(string lib, string key, Efl.EventCb evtCaller, object evtDelegate)
257 IntPtr desc = Efl.EventDescription.GetNative(lib, key);
258 if (desc == IntPtr.Zero)
260 Eina.Log.Error($"Failed to get native event {key}");
263 if (eoEvents.ContainsKey((desc, evtDelegate)))
265 Eina.Log.Warning($"Event proxy for event {key} already registered!");
269 IntPtr evtCallerPtr = Marshal.GetFunctionPointerForDelegate(evtCaller);
270 if (!Efl.Eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evtCallerPtr, IntPtr.Zero))
272 Eina.Log.Error($"Failed to add event proxy for event {key}");
276 eoEvents[(desc, evtDelegate)] = (evtCallerPtr, evtCaller);
277 Eina.Error.RaiseIfUnhandledException();
280 ///<summary>Removes the given event handler for the given event. For internal use only.</summary>
281 ///<param name="lib">The name of the native library definining the event.</param>
282 ///<param name="key">The name of the native event.</param>
283 ///<param name="evtDelegate">The delegate to be removed.</param>
284 private void RemoveNativeEventHandler(string lib, string key, object evtDelegate)
286 IntPtr desc = Efl.EventDescription.GetNative(lib, key);
287 if (desc == IntPtr.Zero)
289 Eina.Log.Error($"Failed to get native event {key}");
293 var evtPair = (desc, evtDelegate);
294 if (eoEvents.TryGetValue(evtPair, out var caller))
296 if (!Efl.Eo.Globals.efl_event_callback_del(handle, desc, caller.evtCallerPtr, IntPtr.Zero))
298 Eina.Log.Error($"Failed to remove event proxy for event {key}");
302 eoEvents.Remove(evtPair);
303 Eina.Error.RaiseIfUnhandledException();
307 Eina.Log.Error($"Trying to remove proxy for event {key} when it is nothing registered.");
311 /// <summary>Called when he image was loaded</summary>
312 public event EventHandler LoadDoneEvt
318 var wRef = new WeakReference(this);
319 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
321 var obj = wRef.Target as Efl.Eo.IWrapper;
324 EventArgs args = EventArgs.Empty;
327 value?.Invoke(obj, args);
331 Eina.Log.Error(e.ToString());
332 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
337 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_DONE";
338 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
346 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_DONE";
347 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
351 ///<summary>Method to raise event LoadDoneEvt.</summary>
352 public void OnLoadDoneEvt(EventArgs e)
354 var key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_DONE";
355 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
356 if (desc == IntPtr.Zero)
358 Eina.Log.Error($"Failed to get native event {key}");
362 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
364 /// <summary>Called when an error happened during image loading</summary>
365 public event EventHandler<Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args> LoadErrorEvt
371 var wRef = new WeakReference(this);
372 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
374 var obj = wRef.Target as Efl.Eo.IWrapper;
377 Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args args = new Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args();
378 args.arg = (Eina.Error)Marshal.PtrToStructure(evt.Info, typeof(Eina.Error));
381 value?.Invoke(obj, args);
385 Eina.Log.Error(e.ToString());
386 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
391 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_ERROR";
392 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
400 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_ERROR";
401 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
405 ///<summary>Method to raise event LoadErrorEvt.</summary>
406 public void OnLoadErrorEvt(Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args e)
408 var key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_ERROR";
409 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
410 if (desc == IntPtr.Zero)
412 Eina.Log.Error($"Failed to get native event {key}");
416 IntPtr info = Eina.PrimitiveConversion.ManagedToPointerAlloc((int)e.arg);
419 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
423 Marshal.FreeHGlobal(info);
426 /// <summary>Returns the requested load size.</summary>
427 /// <returns>The image load size.</returns>
428 public Eina.Size2D GetLoadSize() {
429 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_size_get_ptr.Value.Delegate(this.NativeHandle);
430 Eina.Error.RaiseIfUnhandledException();
433 /// <summary>Requests the canvas to load the image at the given size.
434 /// EFL will try to load an image of the requested size but does not guarantee an exact match between the request and the loaded image dimensions.</summary>
435 /// <param name="size">The image load size.</param>
436 public void SetLoadSize(Eina.Size2D size) {
437 Eina.Size2D.NativeStruct _in_size = size;
438 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_size_set_ptr.Value.Delegate(this.NativeHandle,_in_size);
439 Eina.Error.RaiseIfUnhandledException();
441 /// <summary>Get the DPI resolution of a loaded image object in the canvas.
442 /// This function returns the DPI resolution of the given canvas image.</summary>
443 /// <returns>The DPI resolution.</returns>
444 public double GetLoadDpi() {
445 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_dpi_get_ptr.Value.Delegate(this.NativeHandle);
446 Eina.Error.RaiseIfUnhandledException();
449 /// <summary>Set the DPI resolution of an image object's source image.
450 /// This function sets the DPI resolution of a given loaded canvas image. Most useful for the SVG image loader.</summary>
451 /// <param name="dpi">The DPI resolution.</param>
452 public void SetLoadDpi(double dpi) {
453 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_dpi_set_ptr.Value.Delegate(this.NativeHandle,dpi);
454 Eina.Error.RaiseIfUnhandledException();
456 /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
457 /// <returns><c>true</c> if region load of the image is supported, <c>false</c> otherwise</returns>
458 public bool GetLoadRegionSupport() {
459 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_region_support_get_ptr.Value.Delegate(this.NativeHandle);
460 Eina.Error.RaiseIfUnhandledException();
463 /// <summary>Retrieve the coordinates of a given image object's selective (source image) load region.</summary>
464 /// <returns>A region of the image.</returns>
465 public Eina.Rect GetLoadRegion() {
466 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_region_get_ptr.Value.Delegate(this.NativeHandle);
467 Eina.Error.RaiseIfUnhandledException();
470 /// <summary>Inform a given image object to load a selective region of its source image.
471 /// This function is useful when one is not showing all of an image's area on its image object.
473 /// Note: The image loader for the image format in question has to support selective region loading in order for this function to work.</summary>
474 /// <param name="region">A region of the image.</param>
475 public void SetLoadRegion(Eina.Rect region) {
476 Eina.Rect.NativeStruct _in_region = region;
477 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_region_set_ptr.Value.Delegate(this.NativeHandle,_in_region);
478 Eina.Error.RaiseIfUnhandledException();
480 /// <summary>Defines whether the orientation information in the image file should be honored.
481 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
482 /// <returns><c>true</c> means that it should honor the orientation information.</returns>
483 public bool GetLoadOrientation() {
484 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_orientation_get_ptr.Value.Delegate(this.NativeHandle);
485 Eina.Error.RaiseIfUnhandledException();
488 /// <summary>Defines whether the orientation information in the image file should be honored.
489 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
490 /// <param name="enable"><c>true</c> means that it should honor the orientation information.</param>
491 public void SetLoadOrientation(bool enable) {
492 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_orientation_set_ptr.Value.Delegate(this.NativeHandle,enable);
493 Eina.Error.RaiseIfUnhandledException();
495 /// <summary>The scale down factor is a divider on the original image size.
496 /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
498 /// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
500 /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
501 /// <returns>The scale down dividing factor.</returns>
502 public int GetLoadScaleDown() {
503 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_scale_down_get_ptr.Value.Delegate(this.NativeHandle);
504 Eina.Error.RaiseIfUnhandledException();
507 /// <summary>Requests the image loader to scale down by <c>div</c> times. Call this before starting the actual image load.</summary>
508 /// <param name="div">The scale down dividing factor.</param>
509 public void SetLoadScaleDown(int div) {
510 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_scale_down_set_ptr.Value.Delegate(this.NativeHandle,div);
511 Eina.Error.RaiseIfUnhandledException();
513 /// <summary>Initial load should skip header check and leave it all to data load
514 /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
515 /// <returns>Will be true if header is to be skipped.</returns>
516 public bool GetLoadSkipHeader() {
517 var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_skip_header_get_ptr.Value.Delegate(this.NativeHandle);
518 Eina.Error.RaiseIfUnhandledException();
521 /// <summary>Set the skip header state for susbsequent loads of a file.</summary>
522 /// <param name="skip">Will be true if header is to be skipped.</param>
523 public void SetLoadSkipHeader(bool skip) {
524 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_skip_header_set_ptr.Value.Delegate(this.NativeHandle,skip);
525 Eina.Error.RaiseIfUnhandledException();
527 /// <summary>Begin preloading an image object's image data in the background.
528 /// Once the background task is complete the event <c>load</c>,done will be emitted.</summary>
529 public void LoadAsyncStart() {
530 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_async_start_ptr.Value.Delegate(this.NativeHandle);
531 Eina.Error.RaiseIfUnhandledException();
533 /// <summary>Cancel preloading an image object's image data in the background.
534 /// The object should be left in a state where it has no image data. If cancel is called too late, the image will be kept in memory.</summary>
535 public void LoadAsyncCancel() {
536 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_async_cancel_ptr.Value.Delegate(this.NativeHandle);
537 Eina.Error.RaiseIfUnhandledException();
539 /// <summary>The load size of an image.
540 /// The image will be loaded into memory as if it was the specified size instead of its original size. This can save a lot of memory and is important for scalable types like svg.
542 /// By default, the load size is not specified, so it is 0x0.</summary>
543 /// <value>The image load size.</value>
544 public Eina.Size2D LoadSize {
545 get { return GetLoadSize(); }
546 set { SetLoadSize(value); }
548 /// <summary>Get the DPI resolution of a loaded image object in the canvas.
549 /// This function returns the DPI resolution of the given canvas image.</summary>
550 /// <value>The DPI resolution.</value>
551 public double LoadDpi {
552 get { return GetLoadDpi(); }
553 set { SetLoadDpi(value); }
555 /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
556 /// <value><c>true</c> if region load of the image is supported, <c>false</c> otherwise</value>
557 public bool LoadRegionSupport {
558 get { return GetLoadRegionSupport(); }
560 /// <summary>Retrieve the coordinates of a given image object's selective (source image) load region.</summary>
561 /// <value>A region of the image.</value>
562 public Eina.Rect LoadRegion {
563 get { return GetLoadRegion(); }
564 set { SetLoadRegion(value); }
566 /// <summary>Defines whether the orientation information in the image file should be honored.
567 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
568 /// <value><c>true</c> means that it should honor the orientation information.</value>
569 public bool LoadOrientation {
570 get { return GetLoadOrientation(); }
571 set { SetLoadOrientation(value); }
573 /// <summary>The scale down factor is a divider on the original image size.
574 /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
576 /// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
578 /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
579 /// <value>The scale down dividing factor.</value>
580 public int LoadScaleDown {
581 get { return GetLoadScaleDown(); }
582 set { SetLoadScaleDown(value); }
584 /// <summary>Initial load should skip header check and leave it all to data load
585 /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
586 /// <value>Will be true if header is to be skipped.</value>
587 public bool LoadSkipHeader {
588 get { return GetLoadSkipHeader(); }
589 set { SetLoadSkipHeader(value); }
591 private static IntPtr GetEflClassStatic()
593 return Efl.Gfx.IImageLoadControllerConcrete.efl_gfx_image_load_controller_interface_get();
595 /// <summary>Wrapper for native methods and virtual method delegates.
596 /// For internal use by generated code only.</summary>
597 public class NativeMethods : Efl.Eo.NativeClass
599 private static Efl.Eo.NativeModule Module = new Efl.Eo.NativeModule( efl.Libs.Efl);
600 /// <summary>Gets the list of Eo operations to override.</summary>
601 /// <returns>The list of Eo operations to be overload.</returns>
602 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
604 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
605 var methods = Efl.Eo.Globals.GetUserMethods(type);
607 if (efl_gfx_image_load_controller_load_size_get_static_delegate == null)
609 efl_gfx_image_load_controller_load_size_get_static_delegate = new efl_gfx_image_load_controller_load_size_get_delegate(load_size_get);
612 if (methods.FirstOrDefault(m => m.Name == "GetLoadSize") != null)
614 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_size_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_size_get_static_delegate) });
617 if (efl_gfx_image_load_controller_load_size_set_static_delegate == null)
619 efl_gfx_image_load_controller_load_size_set_static_delegate = new efl_gfx_image_load_controller_load_size_set_delegate(load_size_set);
622 if (methods.FirstOrDefault(m => m.Name == "SetLoadSize") != null)
624 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_size_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_size_set_static_delegate) });
627 if (efl_gfx_image_load_controller_load_dpi_get_static_delegate == null)
629 efl_gfx_image_load_controller_load_dpi_get_static_delegate = new efl_gfx_image_load_controller_load_dpi_get_delegate(load_dpi_get);
632 if (methods.FirstOrDefault(m => m.Name == "GetLoadDpi") != null)
634 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_dpi_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_dpi_get_static_delegate) });
637 if (efl_gfx_image_load_controller_load_dpi_set_static_delegate == null)
639 efl_gfx_image_load_controller_load_dpi_set_static_delegate = new efl_gfx_image_load_controller_load_dpi_set_delegate(load_dpi_set);
642 if (methods.FirstOrDefault(m => m.Name == "SetLoadDpi") != null)
644 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_dpi_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_dpi_set_static_delegate) });
647 if (efl_gfx_image_load_controller_load_region_support_get_static_delegate == null)
649 efl_gfx_image_load_controller_load_region_support_get_static_delegate = new efl_gfx_image_load_controller_load_region_support_get_delegate(load_region_support_get);
652 if (methods.FirstOrDefault(m => m.Name == "GetLoadRegionSupport") != null)
654 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_region_support_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_support_get_static_delegate) });
657 if (efl_gfx_image_load_controller_load_region_get_static_delegate == null)
659 efl_gfx_image_load_controller_load_region_get_static_delegate = new efl_gfx_image_load_controller_load_region_get_delegate(load_region_get);
662 if (methods.FirstOrDefault(m => m.Name == "GetLoadRegion") != null)
664 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_region_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_get_static_delegate) });
667 if (efl_gfx_image_load_controller_load_region_set_static_delegate == null)
669 efl_gfx_image_load_controller_load_region_set_static_delegate = new efl_gfx_image_load_controller_load_region_set_delegate(load_region_set);
672 if (methods.FirstOrDefault(m => m.Name == "SetLoadRegion") != null)
674 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_region_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_set_static_delegate) });
677 if (efl_gfx_image_load_controller_load_orientation_get_static_delegate == null)
679 efl_gfx_image_load_controller_load_orientation_get_static_delegate = new efl_gfx_image_load_controller_load_orientation_get_delegate(load_orientation_get);
682 if (methods.FirstOrDefault(m => m.Name == "GetLoadOrientation") != null)
684 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_orientation_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_orientation_get_static_delegate) });
687 if (efl_gfx_image_load_controller_load_orientation_set_static_delegate == null)
689 efl_gfx_image_load_controller_load_orientation_set_static_delegate = new efl_gfx_image_load_controller_load_orientation_set_delegate(load_orientation_set);
692 if (methods.FirstOrDefault(m => m.Name == "SetLoadOrientation") != null)
694 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_orientation_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_orientation_set_static_delegate) });
697 if (efl_gfx_image_load_controller_load_scale_down_get_static_delegate == null)
699 efl_gfx_image_load_controller_load_scale_down_get_static_delegate = new efl_gfx_image_load_controller_load_scale_down_get_delegate(load_scale_down_get);
702 if (methods.FirstOrDefault(m => m.Name == "GetLoadScaleDown") != null)
704 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_scale_down_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_scale_down_get_static_delegate) });
707 if (efl_gfx_image_load_controller_load_scale_down_set_static_delegate == null)
709 efl_gfx_image_load_controller_load_scale_down_set_static_delegate = new efl_gfx_image_load_controller_load_scale_down_set_delegate(load_scale_down_set);
712 if (methods.FirstOrDefault(m => m.Name == "SetLoadScaleDown") != null)
714 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_scale_down_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_scale_down_set_static_delegate) });
717 if (efl_gfx_image_load_controller_load_skip_header_get_static_delegate == null)
719 efl_gfx_image_load_controller_load_skip_header_get_static_delegate = new efl_gfx_image_load_controller_load_skip_header_get_delegate(load_skip_header_get);
722 if (methods.FirstOrDefault(m => m.Name == "GetLoadSkipHeader") != null)
724 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_skip_header_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_skip_header_get_static_delegate) });
727 if (efl_gfx_image_load_controller_load_skip_header_set_static_delegate == null)
729 efl_gfx_image_load_controller_load_skip_header_set_static_delegate = new efl_gfx_image_load_controller_load_skip_header_set_delegate(load_skip_header_set);
732 if (methods.FirstOrDefault(m => m.Name == "SetLoadSkipHeader") != null)
734 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_skip_header_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_skip_header_set_static_delegate) });
737 if (efl_gfx_image_load_controller_load_async_start_static_delegate == null)
739 efl_gfx_image_load_controller_load_async_start_static_delegate = new efl_gfx_image_load_controller_load_async_start_delegate(load_async_start);
742 if (methods.FirstOrDefault(m => m.Name == "LoadAsyncStart") != null)
744 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_async_start"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_async_start_static_delegate) });
747 if (efl_gfx_image_load_controller_load_async_cancel_static_delegate == null)
749 efl_gfx_image_load_controller_load_async_cancel_static_delegate = new efl_gfx_image_load_controller_load_async_cancel_delegate(load_async_cancel);
752 if (methods.FirstOrDefault(m => m.Name == "LoadAsyncCancel") != null)
754 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_async_cancel"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_async_cancel_static_delegate) });
759 /// <summary>Returns the Eo class for the native methods of this class.</summary>
760 /// <returns>The native class pointer.</returns>
761 public override IntPtr GetEflClass()
763 return Efl.Gfx.IImageLoadControllerConcrete.efl_gfx_image_load_controller_interface_get();
766 #pragma warning disable CA1707, SA1300, SA1600
769 private delegate Eina.Size2D.NativeStruct efl_gfx_image_load_controller_load_size_get_delegate(System.IntPtr obj, System.IntPtr pd);
772 public delegate Eina.Size2D.NativeStruct efl_gfx_image_load_controller_load_size_get_api_delegate(System.IntPtr obj);
774 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_get_api_delegate> efl_gfx_image_load_controller_load_size_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_size_get");
776 private static Eina.Size2D.NativeStruct load_size_get(System.IntPtr obj, System.IntPtr pd)
778 Eina.Log.Debug("function efl_gfx_image_load_controller_load_size_get was called");
779 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
782 Eina.Size2D _ret_var = default(Eina.Size2D);
785 _ret_var = ((IImageLoadController)wrapper).GetLoadSize();
789 Eina.Log.Warning($"Callback error: {e.ToString()}");
790 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
798 return efl_gfx_image_load_controller_load_size_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
802 private static efl_gfx_image_load_controller_load_size_get_delegate efl_gfx_image_load_controller_load_size_get_static_delegate;
805 private delegate void efl_gfx_image_load_controller_load_size_set_delegate(System.IntPtr obj, System.IntPtr pd, Eina.Size2D.NativeStruct size);
808 public delegate void efl_gfx_image_load_controller_load_size_set_api_delegate(System.IntPtr obj, Eina.Size2D.NativeStruct size);
810 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_set_api_delegate> efl_gfx_image_load_controller_load_size_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_size_set");
812 private static void load_size_set(System.IntPtr obj, System.IntPtr pd, Eina.Size2D.NativeStruct size)
814 Eina.Log.Debug("function efl_gfx_image_load_controller_load_size_set was called");
815 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
818 Eina.Size2D _in_size = size;
822 ((IImageLoadController)wrapper).SetLoadSize(_in_size);
826 Eina.Log.Warning($"Callback error: {e.ToString()}");
827 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
834 efl_gfx_image_load_controller_load_size_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), size);
838 private static efl_gfx_image_load_controller_load_size_set_delegate efl_gfx_image_load_controller_load_size_set_static_delegate;
841 private delegate double efl_gfx_image_load_controller_load_dpi_get_delegate(System.IntPtr obj, System.IntPtr pd);
844 public delegate double efl_gfx_image_load_controller_load_dpi_get_api_delegate(System.IntPtr obj);
846 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_get_api_delegate> efl_gfx_image_load_controller_load_dpi_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_dpi_get");
848 private static double load_dpi_get(System.IntPtr obj, System.IntPtr pd)
850 Eina.Log.Debug("function efl_gfx_image_load_controller_load_dpi_get was called");
851 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
854 double _ret_var = default(double);
857 _ret_var = ((IImageLoadController)wrapper).GetLoadDpi();
861 Eina.Log.Warning($"Callback error: {e.ToString()}");
862 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
870 return efl_gfx_image_load_controller_load_dpi_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
874 private static efl_gfx_image_load_controller_load_dpi_get_delegate efl_gfx_image_load_controller_load_dpi_get_static_delegate;
877 private delegate void efl_gfx_image_load_controller_load_dpi_set_delegate(System.IntPtr obj, System.IntPtr pd, double dpi);
880 public delegate void efl_gfx_image_load_controller_load_dpi_set_api_delegate(System.IntPtr obj, double dpi);
882 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_set_api_delegate> efl_gfx_image_load_controller_load_dpi_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_dpi_set");
884 private static void load_dpi_set(System.IntPtr obj, System.IntPtr pd, double dpi)
886 Eina.Log.Debug("function efl_gfx_image_load_controller_load_dpi_set was called");
887 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
893 ((IImageLoadController)wrapper).SetLoadDpi(dpi);
897 Eina.Log.Warning($"Callback error: {e.ToString()}");
898 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
905 efl_gfx_image_load_controller_load_dpi_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), dpi);
909 private static efl_gfx_image_load_controller_load_dpi_set_delegate efl_gfx_image_load_controller_load_dpi_set_static_delegate;
911 [return: MarshalAs(UnmanagedType.U1)]
912 private delegate bool efl_gfx_image_load_controller_load_region_support_get_delegate(System.IntPtr obj, System.IntPtr pd);
914 [return: MarshalAs(UnmanagedType.U1)]
915 public delegate bool efl_gfx_image_load_controller_load_region_support_get_api_delegate(System.IntPtr obj);
917 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_support_get_api_delegate> efl_gfx_image_load_controller_load_region_support_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_support_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_region_support_get");
919 private static bool load_region_support_get(System.IntPtr obj, System.IntPtr pd)
921 Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_support_get was called");
922 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
925 bool _ret_var = default(bool);
928 _ret_var = ((IImageLoadController)wrapper).GetLoadRegionSupport();
932 Eina.Log.Warning($"Callback error: {e.ToString()}");
933 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
941 return efl_gfx_image_load_controller_load_region_support_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
945 private static efl_gfx_image_load_controller_load_region_support_get_delegate efl_gfx_image_load_controller_load_region_support_get_static_delegate;
948 private delegate Eina.Rect.NativeStruct efl_gfx_image_load_controller_load_region_get_delegate(System.IntPtr obj, System.IntPtr pd);
951 public delegate Eina.Rect.NativeStruct efl_gfx_image_load_controller_load_region_get_api_delegate(System.IntPtr obj);
953 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_get_api_delegate> efl_gfx_image_load_controller_load_region_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_region_get");
955 private static Eina.Rect.NativeStruct load_region_get(System.IntPtr obj, System.IntPtr pd)
957 Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_get was called");
958 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
961 Eina.Rect _ret_var = default(Eina.Rect);
964 _ret_var = ((IImageLoadController)wrapper).GetLoadRegion();
968 Eina.Log.Warning($"Callback error: {e.ToString()}");
969 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
977 return efl_gfx_image_load_controller_load_region_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
981 private static efl_gfx_image_load_controller_load_region_get_delegate efl_gfx_image_load_controller_load_region_get_static_delegate;
984 private delegate void efl_gfx_image_load_controller_load_region_set_delegate(System.IntPtr obj, System.IntPtr pd, Eina.Rect.NativeStruct region);
987 public delegate void efl_gfx_image_load_controller_load_region_set_api_delegate(System.IntPtr obj, Eina.Rect.NativeStruct region);
989 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_set_api_delegate> efl_gfx_image_load_controller_load_region_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_region_set");
991 private static void load_region_set(System.IntPtr obj, System.IntPtr pd, Eina.Rect.NativeStruct region)
993 Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_set was called");
994 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
997 Eina.Rect _in_region = region;
1001 ((IImageLoadController)wrapper).SetLoadRegion(_in_region);
1005 Eina.Log.Warning($"Callback error: {e.ToString()}");
1006 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1013 efl_gfx_image_load_controller_load_region_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), region);
1017 private static efl_gfx_image_load_controller_load_region_set_delegate efl_gfx_image_load_controller_load_region_set_static_delegate;
1019 [return: MarshalAs(UnmanagedType.U1)]
1020 private delegate bool efl_gfx_image_load_controller_load_orientation_get_delegate(System.IntPtr obj, System.IntPtr pd);
1022 [return: MarshalAs(UnmanagedType.U1)]
1023 public delegate bool efl_gfx_image_load_controller_load_orientation_get_api_delegate(System.IntPtr obj);
1025 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_get_api_delegate> efl_gfx_image_load_controller_load_orientation_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_orientation_get");
1027 private static bool load_orientation_get(System.IntPtr obj, System.IntPtr pd)
1029 Eina.Log.Debug("function efl_gfx_image_load_controller_load_orientation_get was called");
1030 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1031 if (wrapper != null)
1033 bool _ret_var = default(bool);
1036 _ret_var = ((IImageLoadController)wrapper).GetLoadOrientation();
1040 Eina.Log.Warning($"Callback error: {e.ToString()}");
1041 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1049 return efl_gfx_image_load_controller_load_orientation_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1053 private static efl_gfx_image_load_controller_load_orientation_get_delegate efl_gfx_image_load_controller_load_orientation_get_static_delegate;
1056 private delegate void efl_gfx_image_load_controller_load_orientation_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool enable);
1059 public delegate void efl_gfx_image_load_controller_load_orientation_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool enable);
1061 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_set_api_delegate> efl_gfx_image_load_controller_load_orientation_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_orientation_set");
1063 private static void load_orientation_set(System.IntPtr obj, System.IntPtr pd, bool enable)
1065 Eina.Log.Debug("function efl_gfx_image_load_controller_load_orientation_set was called");
1066 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1067 if (wrapper != null)
1072 ((IImageLoadController)wrapper).SetLoadOrientation(enable);
1076 Eina.Log.Warning($"Callback error: {e.ToString()}");
1077 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1084 efl_gfx_image_load_controller_load_orientation_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), enable);
1088 private static efl_gfx_image_load_controller_load_orientation_set_delegate efl_gfx_image_load_controller_load_orientation_set_static_delegate;
1091 private delegate int efl_gfx_image_load_controller_load_scale_down_get_delegate(System.IntPtr obj, System.IntPtr pd);
1094 public delegate int efl_gfx_image_load_controller_load_scale_down_get_api_delegate(System.IntPtr obj);
1096 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_get_api_delegate> efl_gfx_image_load_controller_load_scale_down_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_scale_down_get");
1098 private static int load_scale_down_get(System.IntPtr obj, System.IntPtr pd)
1100 Eina.Log.Debug("function efl_gfx_image_load_controller_load_scale_down_get was called");
1101 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1102 if (wrapper != null)
1104 int _ret_var = default(int);
1107 _ret_var = ((IImageLoadController)wrapper).GetLoadScaleDown();
1111 Eina.Log.Warning($"Callback error: {e.ToString()}");
1112 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1120 return efl_gfx_image_load_controller_load_scale_down_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1124 private static efl_gfx_image_load_controller_load_scale_down_get_delegate efl_gfx_image_load_controller_load_scale_down_get_static_delegate;
1127 private delegate void efl_gfx_image_load_controller_load_scale_down_set_delegate(System.IntPtr obj, System.IntPtr pd, int div);
1130 public delegate void efl_gfx_image_load_controller_load_scale_down_set_api_delegate(System.IntPtr obj, int div);
1132 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_set_api_delegate> efl_gfx_image_load_controller_load_scale_down_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_scale_down_set");
1134 private static void load_scale_down_set(System.IntPtr obj, System.IntPtr pd, int div)
1136 Eina.Log.Debug("function efl_gfx_image_load_controller_load_scale_down_set was called");
1137 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1138 if (wrapper != null)
1143 ((IImageLoadController)wrapper).SetLoadScaleDown(div);
1147 Eina.Log.Warning($"Callback error: {e.ToString()}");
1148 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1155 efl_gfx_image_load_controller_load_scale_down_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), div);
1159 private static efl_gfx_image_load_controller_load_scale_down_set_delegate efl_gfx_image_load_controller_load_scale_down_set_static_delegate;
1161 [return: MarshalAs(UnmanagedType.U1)]
1162 private delegate bool efl_gfx_image_load_controller_load_skip_header_get_delegate(System.IntPtr obj, System.IntPtr pd);
1164 [return: MarshalAs(UnmanagedType.U1)]
1165 public delegate bool efl_gfx_image_load_controller_load_skip_header_get_api_delegate(System.IntPtr obj);
1167 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_get_api_delegate> efl_gfx_image_load_controller_load_skip_header_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_skip_header_get");
1169 private static bool load_skip_header_get(System.IntPtr obj, System.IntPtr pd)
1171 Eina.Log.Debug("function efl_gfx_image_load_controller_load_skip_header_get was called");
1172 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1173 if (wrapper != null)
1175 bool _ret_var = default(bool);
1178 _ret_var = ((IImageLoadController)wrapper).GetLoadSkipHeader();
1182 Eina.Log.Warning($"Callback error: {e.ToString()}");
1183 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1191 return efl_gfx_image_load_controller_load_skip_header_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1195 private static efl_gfx_image_load_controller_load_skip_header_get_delegate efl_gfx_image_load_controller_load_skip_header_get_static_delegate;
1198 private delegate void efl_gfx_image_load_controller_load_skip_header_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool skip);
1201 public delegate void efl_gfx_image_load_controller_load_skip_header_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool skip);
1203 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_set_api_delegate> efl_gfx_image_load_controller_load_skip_header_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_skip_header_set");
1205 private static void load_skip_header_set(System.IntPtr obj, System.IntPtr pd, bool skip)
1207 Eina.Log.Debug("function efl_gfx_image_load_controller_load_skip_header_set was called");
1208 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1209 if (wrapper != null)
1214 ((IImageLoadController)wrapper).SetLoadSkipHeader(skip);
1218 Eina.Log.Warning($"Callback error: {e.ToString()}");
1219 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1226 efl_gfx_image_load_controller_load_skip_header_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), skip);
1230 private static efl_gfx_image_load_controller_load_skip_header_set_delegate efl_gfx_image_load_controller_load_skip_header_set_static_delegate;
1233 private delegate void efl_gfx_image_load_controller_load_async_start_delegate(System.IntPtr obj, System.IntPtr pd);
1236 public delegate void efl_gfx_image_load_controller_load_async_start_api_delegate(System.IntPtr obj);
1238 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_start_api_delegate> efl_gfx_image_load_controller_load_async_start_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_start_api_delegate>(Module, "efl_gfx_image_load_controller_load_async_start");
1240 private static void load_async_start(System.IntPtr obj, System.IntPtr pd)
1242 Eina.Log.Debug("function efl_gfx_image_load_controller_load_async_start was called");
1243 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1244 if (wrapper != null)
1249 ((IImageLoadController)wrapper).LoadAsyncStart();
1253 Eina.Log.Warning($"Callback error: {e.ToString()}");
1254 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1261 efl_gfx_image_load_controller_load_async_start_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1265 private static efl_gfx_image_load_controller_load_async_start_delegate efl_gfx_image_load_controller_load_async_start_static_delegate;
1268 private delegate void efl_gfx_image_load_controller_load_async_cancel_delegate(System.IntPtr obj, System.IntPtr pd);
1271 public delegate void efl_gfx_image_load_controller_load_async_cancel_api_delegate(System.IntPtr obj);
1273 public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_cancel_api_delegate> efl_gfx_image_load_controller_load_async_cancel_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_cancel_api_delegate>(Module, "efl_gfx_image_load_controller_load_async_cancel");
1275 private static void load_async_cancel(System.IntPtr obj, System.IntPtr pd)
1277 Eina.Log.Debug("function efl_gfx_image_load_controller_load_async_cancel was called");
1278 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
1279 if (wrapper != null)
1284 ((IImageLoadController)wrapper).LoadAsyncCancel();
1288 Eina.Log.Warning($"Callback error: {e.ToString()}");
1289 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1296 efl_gfx_image_load_controller_load_async_cancel_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1300 private static efl_gfx_image_load_controller_load_async_cancel_delegate efl_gfx_image_load_controller_load_async_cancel_static_delegate;
1302 #pragma warning restore CA1707, SA1300, SA1600