summaryrefslogtreecommitdiff
path: root/bindings/lazgdkpixbuf2.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2024-12-23 12:25:59 +0100
committerTomas Bzatek <tbzatek@redhat.com>2025-11-27 19:36:06 +0100
commita9634b933f71a9045e61d29c486f2d51d39fd1e2 (patch)
treeeec472463f27971c2b477efe1ddfd4eb37cddfdd /bindings/lazgdkpixbuf2.pas
parent585635371a182d2b3cd5400f6d26d8e20ade6dbd (diff)
downloadtuxcmd-a9634b933f71a9045e61d29c486f2d51d39fd1e2.tar.xz
Add gobject-introspection generated bindings
Uses the gir2pascal tool from the Lazarus IDE project, see https://wiki.freepascal.org/gir2pascal Generating gtk3 bindings involves generating all its dependencies, including glib2, etc. As long as the generated units have number of issues getting this compiled, using a copy of gtk3bindings from Lazarus for the moment.
Diffstat (limited to 'bindings/lazgdkpixbuf2.pas')
-rw-r--r--bindings/lazgdkpixbuf2.pas1047
1 files changed, 1047 insertions, 0 deletions
diff --git a/bindings/lazgdkpixbuf2.pas b/bindings/lazgdkpixbuf2.pas
new file mode 100644
index 0000000..0fa6db3
--- /dev/null
+++ b/bindings/lazgdkpixbuf2.pas
@@ -0,0 +1,1047 @@
+{ This is an autogenerated unit using gobject introspection (gir2pascal). Do not Edit. }
+unit LazGdkPixbuf2;
+
+{$MODE OBJFPC}{$H+}
+
+{$PACKRECORDS C}
+{$MODESWITCH DUPLICATELOCALS+}
+
+{$ifdef Unix}
+{$LINKLIB libgdk_pixbuf-2.0.so.0}
+{$endif}
+{$WARN 3031 off : Values in enumeration types have to be ascending}
+interface
+uses
+ CTypes, LazGModule2, LazGio2, LazGLib2, LazGObject2;
+
+const
+ {$ifdef MsWindows}
+ LazGdkPixbuf2_library = 'libgdk_pixbuf-2.0.so.dll';
+ {$else}
+ LazGdkPixbuf2_library = 'libgdk_pixbuf-2.0.so.0';
+ {$endif}
+
+ GDK_PIXBUF_MAJOR = 2;
+ GDK_PIXBUF_MICRO = 10;
+ GDK_PIXBUF_MINOR = 42;
+ GDK_PIXBUF_VERSION = '2.42.10';
+type
+ TGdkColorspace = (
+ TGdkColorspaceMinValue = -$7FFFFFFF,
+ GDK_COLORSPACE_RGB = 0,
+ TGdkColorspaceMaxValue = $7FFFFFFF
+ );
+ TGdkInterpType = (
+ TGdkInterpTypeMinValue = -$7FFFFFFF,
+ GDK_INTERP_NEAREST = 0,
+ GDK_INTERP_TILES = 1,
+ GDK_INTERP_BILINEAR = 2,
+ GDK_INTERP_HYPER = 3,
+ TGdkInterpTypeMaxValue = $7FFFFFFF
+ );
+ TGdkPixbufRotation = (
+ TGdkPixbufRotationMinValue = -$7FFFFFFF,
+ GDK_PIXBUF_ROTATE_NONE = 0,
+ GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE = 90,
+ GDK_PIXBUF_ROTATE_UPSIDEDOWN = 180,
+ GDK_PIXBUF_ROTATE_CLOCKWISE = 270,
+ TGdkPixbufRotationMaxValue = $7FFFFFFF
+ );
+ TGdkPixbufError = (
+ TGdkPixbufErrorMinValue = -$7FFFFFFF,
+ GDK_PIXBUF_ERROR_CORRUPT_IMAGE = 0,
+ GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY = 1,
+ GDK_PIXBUF_ERROR_BAD_OPTION = 2,
+ GDK_PIXBUF_ERROR_UNKNOWN_TYPE = 3,
+ GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION = 4,
+ GDK_PIXBUF_ERROR_FAILED = 5,
+ GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION = 6,
+ TGdkPixbufErrorMaxValue = $7FFFFFFF
+ );
+ TGdkPixbufFormatFlagsIdx = (
+ TGdkPixbufFormatFlagsIdxMinValue = 0,
+ GDK_PIXBUF_FORMAT_WRITABLE = 0,
+ GDK_PIXBUF_FORMAT_SCALABLE = 1,
+ GDK_PIXBUF_FORMAT_THREADSAFE = 2,
+ TGdkPixbufFormatFlagsIdxMaxValue = 31
+ );
+ TGdkPixbufFormatFlags = Set of TGdkPixbufFormatFlagsIdx;
+type
+
+
+ { TGdkColorspace }
+ PPGdkColorspace = ^PGdkColorspace;
+ PGdkColorspace = ^TGdkColorspace;
+
+
+ { TGdkInterpType }
+ PPGdkInterpType = ^PGdkInterpType;
+ PGdkInterpType = ^TGdkInterpType;
+
+
+ { TGdkPixbuf }
+ PPGdkPixbuf = ^PGdkPixbuf;
+ PGdkPixbuf = ^TGdkPixbuf;
+
+
+ { TGdkPixbufDestroyNotify }
+ PPGdkPixbufDestroyNotify = ^PGdkPixbufDestroyNotify;
+ PGdkPixbufDestroyNotify = ^TGdkPixbufDestroyNotify;
+ TGdkPixbufDestroyNotify = procedure(pixels: Pguint8; data: gpointer); cdecl;
+
+
+ { TGdkPixbufFormat }
+ PPGdkPixbufFormat = ^PGdkPixbufFormat;
+ PGdkPixbufFormat = ^TGdkPixbufFormat;
+
+
+ { TGdkPixbufRotation }
+ PPGdkPixbufRotation = ^PGdkPixbufRotation;
+ PGdkPixbufRotation = ^TGdkPixbufRotation;
+
+
+ { TGdkPixbufSaveFunc }
+ PPGdkPixbufSaveFunc = ^PGdkPixbufSaveFunc;
+ PGdkPixbufSaveFunc = ^TGdkPixbufSaveFunc;
+ TGdkPixbufSaveFunc = function(buf: Pgchar; count: gsize; error: PPGError; data: gpointer): gboolean; cdecl;
+ TGdkPixbuf = object(TGObject)
+ function new(colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint): PGdkPixbuf; cdecl; inline; static;
+ function new_from_bytes(data: PGBytes; colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint; rowstride: gint): PGdkPixbuf; cdecl; inline; static;
+ function new_from_data(data: Pguint8; colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint; rowstride: gint; destroy_fn: TGdkPixbufDestroyNotify; destroy_fn_data: gpointer): PGdkPixbuf; cdecl; inline; static;
+ function new_from_file(filename: Pgchar; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_file_at_scale(filename: Pgchar; width: gint; height: gint; preserve_aspect_ratio: gboolean; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_file_at_size(filename: Pgchar; width: gint; height: gint; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_resource(resource_path: Pgchar; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_resource_at_scale(resource_path: Pgchar; width: gint; height: gint; preserve_aspect_ratio: gboolean; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_stream(stream: PGInputStream; cancellable: PGCancellable; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_stream_at_scale(stream: PGInputStream; width: gint; height: gint; preserve_aspect_ratio: gboolean; cancellable: PGCancellable; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_stream_finish(async_result: PGAsyncResult; error: PPGError): PGdkPixbuf; cdecl; inline; static;
+ function new_from_xpm_data(data: PPgchar): PGdkPixbuf; cdecl; inline; static;
+ function calculate_rowstride(colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint): gint; cdecl; inline; static;
+ function get_file_info(filename: Pgchar; width: Pgint; height: Pgint): PGdkPixbufFormat; cdecl; inline; static;
+ procedure get_file_info_async(filename: Pgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; inline; static;
+ function get_file_info_finish(async_result: PGAsyncResult; width: Pgint; height: Pgint; error: PPGError): PGdkPixbufFormat; cdecl; inline; static;
+ function get_formats: PGSList; cdecl; inline; static;
+ function init_modules(path: Pgchar; error: PPGError): gboolean; cdecl; inline; static;
+ procedure new_from_stream_async(stream: PGInputStream; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; inline; static;
+ procedure new_from_stream_at_scale_async(stream: PGInputStream; width: gint; height: gint; preserve_aspect_ratio: gboolean; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; inline; static;
+ function save_to_stream_finish(async_result: PGAsyncResult; error: PPGError): gboolean; cdecl; inline; static;
+ function add_alpha(substitute_color: gboolean; r: guint8; g: guint8; b: guint8): PGdkPixbuf; cdecl; inline;
+ function apply_embedded_orientation: PGdkPixbuf; cdecl; inline;
+ procedure composite(dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType; overall_alpha: gint); cdecl; inline;
+ procedure composite_color(dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType; overall_alpha: gint; check_x: gint; check_y: gint; check_size: gint; color1: guint32; color2: guint32); cdecl; inline;
+ function composite_color_simple(dest_width: gint; dest_height: gint; interp_type: TGdkInterpType; overall_alpha: gint; check_size: gint; color1: guint32; color2: guint32): PGdkPixbuf; cdecl; inline;
+ function copy: PGdkPixbuf; cdecl; inline;
+ procedure copy_area(src_x: gint; src_y: gint; width: gint; height: gint; dest_pixbuf: PGdkPixbuf; dest_x: gint; dest_y: gint); cdecl; inline;
+ function copy_options(dest_pixbuf: PGdkPixbuf): gboolean; cdecl; inline;
+ procedure fill(pixel: guint32); cdecl; inline;
+ function flip(horizontal: gboolean): PGdkPixbuf; cdecl; inline;
+ function get_bits_per_sample: gint; cdecl; inline;
+ function get_byte_length: gsize; cdecl; inline;
+ function get_colorspace: TGdkColorspace; cdecl; inline;
+ function get_has_alpha: gboolean; cdecl; inline;
+ function get_height: gint; cdecl; inline;
+ function get_n_channels: gint; cdecl; inline;
+ function get_option(key: Pgchar): Pgchar; cdecl; inline;
+ function get_options: PGHashTable; cdecl; inline;
+ function get_pixels: Pguint8; cdecl; inline;
+ function get_pixels_with_length(length: Pguint): Pguint8; cdecl; inline;
+ function get_rowstride: gint; cdecl; inline;
+ function get_width: gint; cdecl; inline;
+ function new_subpixbuf(src_x: gint; src_y: gint; width: gint; height: gint): PGdkPixbuf; cdecl; inline;
+ function read_pixel_bytes: PGBytes; cdecl; inline;
+ function read_pixels: Pguint8; cdecl; inline;
+ function remove_option(key: Pgchar): gboolean; cdecl; inline;
+ function rotate_simple(angle: TGdkPixbufRotation): PGdkPixbuf; cdecl; inline;
+ procedure saturate_and_pixelate(dest: PGdkPixbuf; saturation: gfloat; pixelate: gboolean); cdecl; inline;
+ //function save(filename: Pgchar; type_: Pgchar; error: PPGError; args: array of const): gboolean; cdecl; inline;
+ //function save_to_buffer(buffer: PPgchar; buffer_size: Pgsize; type_: Pgchar; error: PPGError; args: array of const): gboolean; cdecl; inline;
+ function save_to_bufferv(buffer: PPgchar; buffer_size: Pgsize; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl; inline;
+ //function save_to_callback(save_func: TGdkPixbufSaveFunc; user_data: gpointer; type_: Pgchar; error: PPGError; args: array of const): gboolean; cdecl; inline;
+ function save_to_callbackv(save_func: TGdkPixbufSaveFunc; user_data: gpointer; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl; inline;
+ //function save_to_stream(stream: PGOutputStream; type_: Pgchar; cancellable: PGCancellable; error: PPGError; args: array of const): gboolean; cdecl; inline;
+ //procedure save_to_stream_async(stream: PGOutputStream; type_: Pgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer; args: array of const); cdecl; inline;
+ function save_to_streamv(stream: PGOutputStream; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; cancellable: PGCancellable; error: PPGError): gboolean; cdecl; inline;
+ procedure save_to_streamv_async(stream: PGOutputStream; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; inline;
+ function savev(filename: Pgchar; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl; inline;
+ procedure scale(dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType); cdecl; inline;
+ function scale_simple(dest_width: gint; dest_height: gint; interp_type: TGdkInterpType): PGdkPixbuf; cdecl; inline;
+ function set_option(key: Pgchar; value: Pgchar): gboolean; cdecl; inline;
+ property bits_per_sample: gint read get_bits_per_sample { property is writeable but setter not declared } ;
+ property colorspace: TGdkColorspace read get_colorspace { property is writeable but setter not declared } ;
+ property has_alpha: gboolean read get_has_alpha { property is writeable but setter not declared } ;
+ property height: gint read get_height { property is writeable but setter not declared } ;
+ property n_channels: gint read get_n_channels { property is writeable but setter not declared } ;
+ //property pixel_bytes: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_pixel_bytes { property is writeable but setter not declared } ;
+ property pixels: Pguint8 read get_pixels { property is writeable but setter not declared } ;
+ property rowstride: gint read get_rowstride { property is writeable but setter not declared } ;
+ property width: gint read get_width { property is writeable but setter not declared } ;
+ end;
+
+
+ { TGdkPixbufModulePattern }
+ PPGdkPixbufModulePattern = ^PGdkPixbufModulePattern;
+ PGdkPixbufModulePattern = ^TGdkPixbufModulePattern;
+ TGdkPixbufFormat = object
+ name: Pgchar;
+ signature: PGdkPixbufModulePattern;
+ domain: Pgchar;
+ description: Pgchar;
+ mime_types: PPgchar;
+ extensions: PPgchar;
+ flags: guint32;
+ disabled: gboolean;
+ license: Pgchar;
+ function copy: PGdkPixbufFormat; cdecl; inline;
+ procedure free; cdecl; inline;
+ function get_description: Pgchar; cdecl; inline;
+ function get_extensions: PPgchar; cdecl; inline;
+ function get_license: Pgchar; cdecl; inline;
+ function get_mime_types: PPgchar; cdecl; inline;
+ function get_name: Pgchar; cdecl; inline;
+ function is_disabled: gboolean; cdecl; inline;
+ function is_save_option_supported(option_key: Pgchar): gboolean; cdecl; inline;
+ function is_scalable: gboolean; cdecl; inline;
+ function is_writable: gboolean; cdecl; inline;
+ procedure set_disabled(disabled: gboolean); cdecl; inline;
+ end;
+
+
+ { TGdkPixbufAnimation }
+ PPGdkPixbufAnimation = ^PGdkPixbufAnimation;
+ PGdkPixbufAnimation = ^TGdkPixbufAnimation;
+
+
+ { TGdkPixbufAnimationIter }
+ PPGdkPixbufAnimationIter = ^PGdkPixbufAnimationIter;
+ PGdkPixbufAnimationIter = ^TGdkPixbufAnimationIter;
+ TGdkPixbufAnimation = object(TGObject)
+ function new_from_file(filename: Pgchar; error: PPGError): PGdkPixbufAnimation; cdecl; inline; static;
+ function new_from_resource(resource_path: Pgchar; error: PPGError): PGdkPixbufAnimation; cdecl; inline; static;
+ function new_from_stream(stream: PGInputStream; cancellable: PGCancellable; error: PPGError): PGdkPixbufAnimation; cdecl; inline; static;
+ function new_from_stream_finish(async_result: PGAsyncResult; error: PPGError): PGdkPixbufAnimation; cdecl; inline; static;
+ procedure new_from_stream_async(stream: PGInputStream; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; inline; static;
+ function get_height: gint; cdecl; inline;
+ function get_iter(start_time: PGTimeVal): PGdkPixbufAnimationIter; cdecl; inline;
+ function get_static_image: PGdkPixbuf; cdecl; inline;
+ function get_width: gint; cdecl; inline;
+ function is_static_image: gboolean; cdecl; inline;
+ end;
+ TGdkPixbufAnimationIter = object(TGObject)
+ function advance(current_time: PGTimeVal): gboolean; cdecl; inline;
+ function get_delay_time: gint; cdecl; inline;
+ function get_pixbuf: PGdkPixbuf; cdecl; inline;
+ function on_currently_loading_frame: gboolean; cdecl; inline;
+ end;
+
+
+ { TGdkPixbufAnimationClass }
+ PPGdkPixbufAnimationClass = ^PGdkPixbufAnimationClass;
+ PGdkPixbufAnimationClass = ^TGdkPixbufAnimationClass;
+ TGdkPixbufAnimationClass = object
+ parent_class: TGObjectClass;
+ is_static_image: function(animation: PGdkPixbufAnimation): gboolean; cdecl;
+ get_static_image: function(animation: PGdkPixbufAnimation): PGdkPixbuf; cdecl;
+ get_size: procedure(animation: PGdkPixbufAnimation; width: Pgint; height: Pgint); cdecl;
+ get_iter: function(animation: PGdkPixbufAnimation; start_time: PGTimeVal): PGdkPixbufAnimationIter; cdecl;
+ end;
+
+
+ { TGdkPixbufAnimationIterClass }
+ PPGdkPixbufAnimationIterClass = ^PGdkPixbufAnimationIterClass;
+ PGdkPixbufAnimationIterClass = ^TGdkPixbufAnimationIterClass;
+ TGdkPixbufAnimationIterClass = object
+ parent_class: TGObjectClass;
+ get_delay_time: function(iter: PGdkPixbufAnimationIter): gint; cdecl;
+ get_pixbuf: function(iter: PGdkPixbufAnimationIter): PGdkPixbuf; cdecl;
+ on_currently_loading_frame: function(iter: PGdkPixbufAnimationIter): gboolean; cdecl;
+ advance: function(iter: PGdkPixbufAnimationIter; current_time: PGTimeVal): gboolean; cdecl;
+ end;
+
+
+ { TGdkPixbufError }
+ PPGdkPixbufError = ^PGdkPixbufError;
+ PGdkPixbufError = ^TGdkPixbufError;
+
+ TGdkPixbufModulePattern = record
+ prefix: Pgchar;
+ mask: Pgchar;
+ relevance: gint;
+ end;
+
+
+
+
+ { TGdkPixbufFormatFlags }
+ PPGdkPixbufFormatFlags = ^PGdkPixbufFormatFlags;
+ PGdkPixbufFormatFlags = ^TGdkPixbufFormatFlags;
+
+
+ { TGdkPixbufLoader }
+ PPGdkPixbufLoader = ^PGdkPixbufLoader;
+ PGdkPixbufLoader = ^TGdkPixbufLoader;
+ TGdkPixbufLoader = object(TGObject)
+ priv: gpointer;
+ function new: PGdkPixbufLoader; cdecl; inline; static;
+ function new_with_mime_type(mime_type: Pgchar; error: PPGError): PGdkPixbufLoader; cdecl; inline; static;
+ function new_with_type(image_type: Pgchar; error: PPGError): PGdkPixbufLoader; cdecl; inline; static;
+ function close(error: PPGError): gboolean; cdecl; inline;
+ function get_animation: PGdkPixbufAnimation; cdecl; inline;
+ function get_format: PGdkPixbufFormat; cdecl; inline;
+ function get_pixbuf: PGdkPixbuf; cdecl; inline;
+ procedure set_size(width: gint; height: gint); cdecl; inline;
+ function write(buf: Pguint8; count: gsize; error: PPGError): gboolean; cdecl; inline;
+ function write_bytes(buffer: PGBytes; error: PPGError): gboolean; cdecl; inline;
+ end;
+
+
+ { TGdkPixbufLoaderClass }
+ PPGdkPixbufLoaderClass = ^PGdkPixbufLoaderClass;
+ PGdkPixbufLoaderClass = ^TGdkPixbufLoaderClass;
+ TGdkPixbufLoaderClass = object
+ parent_class: TGObjectClass;
+ size_prepared: procedure(loader: PGdkPixbufLoader; width: gint; height: gint); cdecl;
+ area_prepared: procedure(loader: PGdkPixbufLoader); cdecl;
+ area_updated: procedure(loader: PGdkPixbufLoader; x: gint; y: gint; width: gint; height: gint); cdecl;
+ closed: procedure(loader: PGdkPixbufLoader); cdecl;
+ end;
+ TGdkPixbufModuleLoadFunc = function(f: Pgpointer; error: PPGError): PGdkPixbuf; cdecl;
+ TGdkPixbufModuleLoadXpmDataFunc = function(data: PPgchar): PGdkPixbuf; cdecl;
+
+
+ { TGdkPixbufModuleSizeFunc }
+ PPGdkPixbufModuleSizeFunc = ^PGdkPixbufModuleSizeFunc;
+ PGdkPixbufModuleSizeFunc = ^TGdkPixbufModuleSizeFunc;
+ TGdkPixbufModuleSizeFunc = procedure(width: Pgint; height: Pgint; user_data: gpointer); cdecl;
+
+
+ { TGdkPixbufModulePreparedFunc }
+ PPGdkPixbufModulePreparedFunc = ^PGdkPixbufModulePreparedFunc;
+ PGdkPixbufModulePreparedFunc = ^TGdkPixbufModulePreparedFunc;
+ TGdkPixbufModulePreparedFunc = procedure(pixbuf: PGdkPixbuf; anim: PGdkPixbufAnimation; user_data: gpointer); cdecl;
+
+
+ { TGdkPixbufModuleUpdatedFunc }
+ PPGdkPixbufModuleUpdatedFunc = ^PGdkPixbufModuleUpdatedFunc;
+ PGdkPixbufModuleUpdatedFunc = ^TGdkPixbufModuleUpdatedFunc;
+ TGdkPixbufModuleUpdatedFunc = procedure(pixbuf: PGdkPixbuf; x: gint; y: gint; width: gint; height: gint; user_data: gpointer); cdecl;
+ TGdkPixbufModuleBeginLoadFunc = function(size_func: TGdkPixbufModuleSizeFunc; prepared_func: TGdkPixbufModulePreparedFunc; updated_func: TGdkPixbufModuleUpdatedFunc; user_data: gpointer; error: PPGError): gpointer; cdecl;
+ TGdkPixbufModuleStopLoadFunc = function(context: gpointer; error: PPGError): gboolean; cdecl;
+ TGdkPixbufModuleIncrementLoadFunc = function(context: gpointer; buf: Pguint8; size: guint; error: PPGError): gboolean; cdecl;
+ TGdkPixbufModuleLoadAnimationFunc = function(f: Pgpointer; error: PPGError): PGdkPixbufAnimation; cdecl;
+ TGdkPixbufModuleSaveFunc = function(f: Pgpointer; pixbuf: PGdkPixbuf; param_keys: PPgchar; param_values: PPgchar; error: PPGError): gboolean; cdecl;
+ TGdkPixbufModuleSaveCallbackFunc = function(save_func: TGdkPixbufSaveFunc; user_data: gpointer; pixbuf: PGdkPixbuf; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl;
+ TGdkPixbufModuleSaveOptionSupportedFunc = function(option_key: Pgchar): gboolean; cdecl;
+
+
+ { TGdkPixbufModule }
+ PPGdkPixbufModule = ^PGdkPixbufModule;
+ PGdkPixbufModule = ^TGdkPixbufModule;
+
+
+ { TGdkPixbufModuleLoadFunc }
+ PPGdkPixbufModuleLoadFunc = ^PGdkPixbufModuleLoadFunc;
+ PGdkPixbufModuleLoadFunc = ^TGdkPixbufModuleLoadFunc;
+
+
+ { TGdkPixbufModuleLoadXpmDataFunc }
+ PPGdkPixbufModuleLoadXpmDataFunc = ^PGdkPixbufModuleLoadXpmDataFunc;
+ PGdkPixbufModuleLoadXpmDataFunc = ^TGdkPixbufModuleLoadXpmDataFunc;
+
+
+ { TGdkPixbufModuleBeginLoadFunc }
+ PPGdkPixbufModuleBeginLoadFunc = ^PGdkPixbufModuleBeginLoadFunc;
+ PGdkPixbufModuleBeginLoadFunc = ^TGdkPixbufModuleBeginLoadFunc;
+
+
+ { TGdkPixbufModuleStopLoadFunc }
+ PPGdkPixbufModuleStopLoadFunc = ^PGdkPixbufModuleStopLoadFunc;
+ PGdkPixbufModuleStopLoadFunc = ^TGdkPixbufModuleStopLoadFunc;
+
+
+ { TGdkPixbufModuleIncrementLoadFunc }
+ PPGdkPixbufModuleIncrementLoadFunc = ^PGdkPixbufModuleIncrementLoadFunc;
+ PGdkPixbufModuleIncrementLoadFunc = ^TGdkPixbufModuleIncrementLoadFunc;
+
+
+ { TGdkPixbufModuleLoadAnimationFunc }
+ PPGdkPixbufModuleLoadAnimationFunc = ^PGdkPixbufModuleLoadAnimationFunc;
+ PGdkPixbufModuleLoadAnimationFunc = ^TGdkPixbufModuleLoadAnimationFunc;
+
+
+ { TGdkPixbufModuleSaveFunc }
+ PPGdkPixbufModuleSaveFunc = ^PGdkPixbufModuleSaveFunc;
+ PGdkPixbufModuleSaveFunc = ^TGdkPixbufModuleSaveFunc;
+
+
+ { TGdkPixbufModuleSaveCallbackFunc }
+ PPGdkPixbufModuleSaveCallbackFunc = ^PGdkPixbufModuleSaveCallbackFunc;
+ PGdkPixbufModuleSaveCallbackFunc = ^TGdkPixbufModuleSaveCallbackFunc;
+
+
+ { TGdkPixbufModuleSaveOptionSupportedFunc }
+ PPGdkPixbufModuleSaveOptionSupportedFunc = ^PGdkPixbufModuleSaveOptionSupportedFunc;
+ PGdkPixbufModuleSaveOptionSupportedFunc = ^TGdkPixbufModuleSaveOptionSupportedFunc;
+
+ TGdkPixbufModule = record
+ module_name: Pgchar;
+ module_path: Pgchar;
+ module: PGModule;
+ info: PGdkPixbufFormat;
+ load: TGdkPixbufModuleLoadFunc;
+ load_xpm_data: TGdkPixbufModuleLoadXpmDataFunc;
+ begin_load: TGdkPixbufModuleBeginLoadFunc;
+ stop_load: TGdkPixbufModuleStopLoadFunc;
+ load_increment: TGdkPixbufModuleIncrementLoadFunc;
+ load_animation: TGdkPixbufModuleLoadAnimationFunc;
+ save: TGdkPixbufModuleSaveFunc;
+ save_to_callback: TGdkPixbufModuleSaveCallbackFunc;
+ is_save_option_supported: TGdkPixbufModuleSaveOptionSupportedFunc;
+ _reserved1: procedure; cdecl;
+ _reserved2: procedure; cdecl;
+ _reserved3: procedure; cdecl;
+ _reserved4: procedure; cdecl;
+ end;
+
+
+ TGdkPixbufModuleFillInfoFunc = procedure(info: PGdkPixbufFormat); cdecl;
+ TGdkPixbufModuleFillVtableFunc = procedure(module: PGdkPixbufModule); cdecl;
+
+
+ { TGdkPixbufNonAnim }
+ PPGdkPixbufNonAnim = ^PGdkPixbufNonAnim;
+ PGdkPixbufNonAnim = ^TGdkPixbufNonAnim;
+ TGdkPixbufNonAnim = object(TGdkPixbufAnimation)
+ function new(pixbuf: PGdkPixbuf): PGdkPixbufNonAnim; cdecl; inline; static;
+ end;
+
+
+ { TGdkPixbufSimpleAnim }
+ PPGdkPixbufSimpleAnim = ^PGdkPixbufSimpleAnim;
+ PGdkPixbufSimpleAnim = ^TGdkPixbufSimpleAnim;
+ TGdkPixbufSimpleAnim = object(TGdkPixbufAnimation)
+ function new(width: gint; height: gint; rate: gfloat): PGdkPixbufSimpleAnim; cdecl; inline; static;
+ procedure add_frame(pixbuf: PGdkPixbuf); cdecl; inline;
+ function get_loop: gboolean; cdecl; inline;
+ procedure set_loop(loop: gboolean); cdecl; inline;
+ property loop: gboolean read get_loop write set_loop;
+ end;
+
+
+ { TGdkPixbufSimpleAnimClass }
+ PPGdkPixbufSimpleAnimClass = ^PGdkPixbufSimpleAnimClass;
+ PGdkPixbufSimpleAnimClass = ^TGdkPixbufSimpleAnimClass;
+ TGdkPixbufSimpleAnimClass = object
+ end;
+
+
+ { TGdkPixbufSimpleAnimIter }
+ PPGdkPixbufSimpleAnimIter = ^PGdkPixbufSimpleAnimIter;
+ PGdkPixbufSimpleAnimIter = ^TGdkPixbufSimpleAnimIter;
+ TGdkPixbufSimpleAnimIter = object(TGdkPixbufAnimationIter)
+ end;
+
+function gdk_pixbuf_add_alpha(pixbuf: PGdkPixbuf; substitute_color: gboolean; r: guint8; g: guint8; b: guint8): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_add_alpha';
+function gdk_pixbuf_animation_get_height(animation: PGdkPixbufAnimation): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_get_height';
+function gdk_pixbuf_animation_get_iter(animation: PGdkPixbufAnimation; start_time: PGTimeVal): PGdkPixbufAnimationIter; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_get_iter';
+function gdk_pixbuf_animation_get_static_image(animation: PGdkPixbufAnimation): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_get_static_image';
+function gdk_pixbuf_animation_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_get_type';
+function gdk_pixbuf_animation_get_width(animation: PGdkPixbufAnimation): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_get_width';
+function gdk_pixbuf_animation_is_static_image(animation: PGdkPixbufAnimation): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_is_static_image';
+function gdk_pixbuf_animation_iter_advance(iter: PGdkPixbufAnimationIter; current_time: PGTimeVal): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_iter_advance';
+function gdk_pixbuf_animation_iter_get_delay_time(iter: PGdkPixbufAnimationIter): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_iter_get_delay_time';
+function gdk_pixbuf_animation_iter_get_pixbuf(iter: PGdkPixbufAnimationIter): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_iter_get_pixbuf';
+function gdk_pixbuf_animation_iter_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_iter_get_type';
+function gdk_pixbuf_animation_iter_on_currently_loading_frame(iter: PGdkPixbufAnimationIter): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_iter_on_currently_loading_frame';
+function gdk_pixbuf_animation_new_from_file(filename: Pgchar; error: PPGError): PGdkPixbufAnimation; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_new_from_file';
+function gdk_pixbuf_animation_new_from_resource(resource_path: Pgchar; error: PPGError): PGdkPixbufAnimation; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_new_from_resource';
+function gdk_pixbuf_animation_new_from_stream(stream: PGInputStream; cancellable: PGCancellable; error: PPGError): PGdkPixbufAnimation; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_new_from_stream';
+function gdk_pixbuf_animation_new_from_stream_finish(async_result: PGAsyncResult; error: PPGError): PGdkPixbufAnimation; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_new_from_stream_finish';
+function gdk_pixbuf_apply_embedded_orientation(src: PGdkPixbuf): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_apply_embedded_orientation';
+function gdk_pixbuf_calculate_rowstride(colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_calculate_rowstride';
+function gdk_pixbuf_composite_color_simple(src: PGdkPixbuf; dest_width: gint; dest_height: gint; interp_type: TGdkInterpType; overall_alpha: gint; check_size: gint; color1: guint32; color2: guint32): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_composite_color_simple';
+function gdk_pixbuf_copy(pixbuf: PGdkPixbuf): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_copy';
+function gdk_pixbuf_copy_options(src_pixbuf: PGdkPixbuf; dest_pixbuf: PGdkPixbuf): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_copy_options';
+function gdk_pixbuf_error_quark: TGQuark; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_error_quark';
+function gdk_pixbuf_flip(src: PGdkPixbuf; horizontal: gboolean): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_flip';
+function gdk_pixbuf_format_copy(format: PGdkPixbufFormat): PGdkPixbufFormat; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_copy';
+function gdk_pixbuf_format_get_description(format: PGdkPixbufFormat): Pgchar; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_get_description';
+function gdk_pixbuf_format_get_extensions(format: PGdkPixbufFormat): PPgchar; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_get_extensions';
+function gdk_pixbuf_format_get_license(format: PGdkPixbufFormat): Pgchar; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_get_license';
+function gdk_pixbuf_format_get_mime_types(format: PGdkPixbufFormat): PPgchar; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_get_mime_types';
+function gdk_pixbuf_format_get_name(format: PGdkPixbufFormat): Pgchar; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_get_name';
+function gdk_pixbuf_format_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_get_type';
+function gdk_pixbuf_format_is_disabled(format: PGdkPixbufFormat): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_is_disabled';
+function gdk_pixbuf_format_is_save_option_supported(format: PGdkPixbufFormat; option_key: Pgchar): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_is_save_option_supported';
+function gdk_pixbuf_format_is_scalable(format: PGdkPixbufFormat): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_is_scalable';
+function gdk_pixbuf_format_is_writable(format: PGdkPixbufFormat): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_is_writable';
+function gdk_pixbuf_get_bits_per_sample(pixbuf: PGdkPixbuf): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_bits_per_sample';
+function gdk_pixbuf_get_byte_length(pixbuf: PGdkPixbuf): gsize; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_byte_length';
+function gdk_pixbuf_get_colorspace(pixbuf: PGdkPixbuf): TGdkColorspace; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_colorspace';
+function gdk_pixbuf_get_file_info(filename: Pgchar; width: Pgint; height: Pgint): PGdkPixbufFormat; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_file_info';
+function gdk_pixbuf_get_file_info_finish(async_result: PGAsyncResult; width: Pgint; height: Pgint; error: PPGError): PGdkPixbufFormat; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_file_info_finish';
+function gdk_pixbuf_get_formats: PGSList; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_formats';
+function gdk_pixbuf_get_has_alpha(pixbuf: PGdkPixbuf): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_has_alpha';
+function gdk_pixbuf_get_height(pixbuf: PGdkPixbuf): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_height';
+function gdk_pixbuf_get_n_channels(pixbuf: PGdkPixbuf): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_n_channels';
+function gdk_pixbuf_get_option(pixbuf: PGdkPixbuf; key: Pgchar): Pgchar; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_option';
+function gdk_pixbuf_get_options(pixbuf: PGdkPixbuf): PGHashTable; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_options';
+function gdk_pixbuf_get_pixels(pixbuf: PGdkPixbuf): Pguint8; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_pixels';
+function gdk_pixbuf_get_pixels_with_length(pixbuf: PGdkPixbuf; length: Pguint): Pguint8; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_pixels_with_length';
+function gdk_pixbuf_get_rowstride(pixbuf: PGdkPixbuf): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_rowstride';
+function gdk_pixbuf_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_type';
+function gdk_pixbuf_get_width(pixbuf: PGdkPixbuf): gint; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_width';
+function gdk_pixbuf_init_modules(path: Pgchar; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_init_modules';
+function gdk_pixbuf_loader_close(loader: PGdkPixbufLoader; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_close';
+function gdk_pixbuf_loader_get_animation(loader: PGdkPixbufLoader): PGdkPixbufAnimation; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_get_animation';
+function gdk_pixbuf_loader_get_format(loader: PGdkPixbufLoader): PGdkPixbufFormat; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_get_format';
+function gdk_pixbuf_loader_get_pixbuf(loader: PGdkPixbufLoader): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_get_pixbuf';
+function gdk_pixbuf_loader_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_get_type';
+function gdk_pixbuf_loader_new: PGdkPixbufLoader; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_new';
+function gdk_pixbuf_loader_new_with_mime_type(mime_type: Pgchar; error: PPGError): PGdkPixbufLoader; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_new_with_mime_type';
+function gdk_pixbuf_loader_new_with_type(image_type: Pgchar; error: PPGError): PGdkPixbufLoader; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_new_with_type';
+function gdk_pixbuf_loader_write(loader: PGdkPixbufLoader; buf: Pguint8; count: gsize; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_write';
+function gdk_pixbuf_loader_write_bytes(loader: PGdkPixbufLoader; buffer: PGBytes; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_write_bytes';
+function gdk_pixbuf_new(colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new';
+function gdk_pixbuf_new_from_bytes(data: PGBytes; colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint; rowstride: gint): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_bytes';
+function gdk_pixbuf_new_from_data(data: Pguint8; colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint; rowstride: gint; destroy_fn: TGdkPixbufDestroyNotify; destroy_fn_data: gpointer): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_data';
+function gdk_pixbuf_new_from_file(filename: Pgchar; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_file';
+function gdk_pixbuf_new_from_file_at_scale(filename: Pgchar; width: gint; height: gint; preserve_aspect_ratio: gboolean; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_file_at_scale';
+function gdk_pixbuf_new_from_file_at_size(filename: Pgchar; width: gint; height: gint; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_file_at_size';
+function gdk_pixbuf_new_from_resource(resource_path: Pgchar; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_resource';
+function gdk_pixbuf_new_from_resource_at_scale(resource_path: Pgchar; width: gint; height: gint; preserve_aspect_ratio: gboolean; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_resource_at_scale';
+function gdk_pixbuf_new_from_stream(stream: PGInputStream; cancellable: PGCancellable; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_stream';
+function gdk_pixbuf_new_from_stream_at_scale(stream: PGInputStream; width: gint; height: gint; preserve_aspect_ratio: gboolean; cancellable: PGCancellable; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_stream_at_scale';
+function gdk_pixbuf_new_from_stream_finish(async_result: PGAsyncResult; error: PPGError): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_stream_finish';
+function gdk_pixbuf_new_from_xpm_data(data: PPgchar): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_xpm_data';
+function gdk_pixbuf_new_subpixbuf(src_pixbuf: PGdkPixbuf; src_x: gint; src_y: gint; width: gint; height: gint): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_subpixbuf';
+function gdk_pixbuf_non_anim_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_non_anim_get_type';
+function gdk_pixbuf_non_anim_new(pixbuf: PGdkPixbuf): PGdkPixbufNonAnim; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_non_anim_new';
+function gdk_pixbuf_read_pixel_bytes(pixbuf: PGdkPixbuf): PGBytes; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_read_pixel_bytes';
+function gdk_pixbuf_read_pixels(pixbuf: PGdkPixbuf): Pguint8; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_read_pixels';
+function gdk_pixbuf_remove_option(pixbuf: PGdkPixbuf; key: Pgchar): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_remove_option';
+function gdk_pixbuf_rotate_simple(src: PGdkPixbuf; angle: TGdkPixbufRotation): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_rotate_simple';
+function gdk_pixbuf_save(pixbuf: PGdkPixbuf; filename: Pgchar; type_: Pgchar; error: PPGError; args: array of const): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save';
+function gdk_pixbuf_save_to_buffer(pixbuf: PGdkPixbuf; buffer: PPgchar; buffer_size: Pgsize; type_: Pgchar; error: PPGError; args: array of const): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_buffer';
+function gdk_pixbuf_save_to_bufferv(pixbuf: PGdkPixbuf; buffer: PPgchar; buffer_size: Pgsize; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_bufferv';
+function gdk_pixbuf_save_to_callback(pixbuf: PGdkPixbuf; save_func: TGdkPixbufSaveFunc; user_data: gpointer; type_: Pgchar; error: PPGError; args: array of const): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_callback';
+function gdk_pixbuf_save_to_callbackv(pixbuf: PGdkPixbuf; save_func: TGdkPixbufSaveFunc; user_data: gpointer; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_callbackv';
+function gdk_pixbuf_save_to_stream(pixbuf: PGdkPixbuf; stream: PGOutputStream; type_: Pgchar; cancellable: PGCancellable; error: PPGError; args: array of const): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_stream';
+function gdk_pixbuf_save_to_stream_finish(async_result: PGAsyncResult; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_stream_finish';
+function gdk_pixbuf_save_to_streamv(pixbuf: PGdkPixbuf; stream: PGOutputStream; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; cancellable: PGCancellable; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_streamv';
+function gdk_pixbuf_savev(pixbuf: PGdkPixbuf; filename: Pgchar; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_savev';
+function gdk_pixbuf_scale_simple(src: PGdkPixbuf; dest_width: gint; dest_height: gint; interp_type: TGdkInterpType): PGdkPixbuf; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_scale_simple';
+function gdk_pixbuf_set_option(pixbuf: PGdkPixbuf; key: Pgchar; value: Pgchar): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_set_option';
+function gdk_pixbuf_simple_anim_get_loop(animation: PGdkPixbufSimpleAnim): gboolean; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_simple_anim_get_loop';
+function gdk_pixbuf_simple_anim_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_simple_anim_get_type';
+function gdk_pixbuf_simple_anim_iter_get_type: TGType; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_simple_anim_iter_get_type';
+function gdk_pixbuf_simple_anim_new(width: gint; height: gint; rate: gfloat): PGdkPixbufSimpleAnim; cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_simple_anim_new';
+procedure gdk_pixbuf_animation_new_from_stream_async(stream: PGInputStream; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_animation_new_from_stream_async';
+procedure gdk_pixbuf_composite(src: PGdkPixbuf; dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType; overall_alpha: gint); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_composite';
+procedure gdk_pixbuf_composite_color(src: PGdkPixbuf; dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType; overall_alpha: gint; check_x: gint; check_y: gint; check_size: gint; color1: guint32; color2: guint32); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_composite_color';
+procedure gdk_pixbuf_copy_area(src_pixbuf: PGdkPixbuf; src_x: gint; src_y: gint; width: gint; height: gint; dest_pixbuf: PGdkPixbuf; dest_x: gint; dest_y: gint); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_copy_area';
+procedure gdk_pixbuf_fill(pixbuf: PGdkPixbuf; pixel: guint32); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_fill';
+procedure gdk_pixbuf_format_free(format: PGdkPixbufFormat); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_free';
+procedure gdk_pixbuf_format_set_disabled(format: PGdkPixbufFormat; disabled: gboolean); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_format_set_disabled';
+procedure gdk_pixbuf_get_file_info_async(filename: Pgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_get_file_info_async';
+procedure gdk_pixbuf_loader_set_size(loader: PGdkPixbufLoader; width: gint; height: gint); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_loader_set_size';
+procedure gdk_pixbuf_new_from_stream_async(stream: PGInputStream; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_stream_async';
+procedure gdk_pixbuf_new_from_stream_at_scale_async(stream: PGInputStream; width: gint; height: gint; preserve_aspect_ratio: gboolean; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_new_from_stream_at_scale_async';
+procedure gdk_pixbuf_saturate_and_pixelate(src: PGdkPixbuf; dest: PGdkPixbuf; saturation: gfloat; pixelate: gboolean); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_saturate_and_pixelate';
+procedure gdk_pixbuf_save_to_stream_async(pixbuf: PGdkPixbuf; stream: PGOutputStream; type_: Pgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer; args: array of const); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_stream_async';
+procedure gdk_pixbuf_save_to_streamv_async(pixbuf: PGdkPixbuf; stream: PGOutputStream; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_save_to_streamv_async';
+procedure gdk_pixbuf_scale(src: PGdkPixbuf; dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_scale';
+procedure gdk_pixbuf_simple_anim_add_frame(animation: PGdkPixbufSimpleAnim; pixbuf: PGdkPixbuf); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_simple_anim_add_frame';
+procedure gdk_pixbuf_simple_anim_set_loop(animation: PGdkPixbufSimpleAnim; loop: gboolean); cdecl; external LazGdkPixbuf2_library name 'gdk_pixbuf_simple_anim_set_loop';
+implementation
+function TGdkPixbuf.new(colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new(colorspace, has_alpha, bits_per_sample, width, height);
+end;
+
+function TGdkPixbuf.new_from_bytes(data: PGBytes; colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint; rowstride: gint): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_bytes(data, colorspace, has_alpha, bits_per_sample, width, height, rowstride);
+end;
+
+function TGdkPixbuf.new_from_data(data: Pguint8; colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint; rowstride: gint; destroy_fn: TGdkPixbufDestroyNotify; destroy_fn_data: gpointer): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_data(data, colorspace, has_alpha, bits_per_sample, width, height, rowstride, destroy_fn, destroy_fn_data);
+end;
+
+function TGdkPixbuf.new_from_file(filename: Pgchar; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_file(filename, error);
+end;
+
+function TGdkPixbuf.new_from_file_at_scale(filename: Pgchar; width: gint; height: gint; preserve_aspect_ratio: gboolean; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_file_at_scale(filename, width, height, preserve_aspect_ratio, error);
+end;
+
+function TGdkPixbuf.new_from_file_at_size(filename: Pgchar; width: gint; height: gint; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_file_at_size(filename, width, height, error);
+end;
+
+function TGdkPixbuf.new_from_resource(resource_path: Pgchar; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_resource(resource_path, error);
+end;
+
+function TGdkPixbuf.new_from_resource_at_scale(resource_path: Pgchar; width: gint; height: gint; preserve_aspect_ratio: gboolean; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_resource_at_scale(resource_path, width, height, preserve_aspect_ratio, error);
+end;
+
+function TGdkPixbuf.new_from_stream(stream: PGInputStream; cancellable: PGCancellable; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_stream(stream, cancellable, error);
+end;
+
+function TGdkPixbuf.new_from_stream_at_scale(stream: PGInputStream; width: gint; height: gint; preserve_aspect_ratio: gboolean; cancellable: PGCancellable; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_stream_at_scale(stream, width, height, preserve_aspect_ratio, cancellable, error);
+end;
+
+function TGdkPixbuf.new_from_stream_finish(async_result: PGAsyncResult; error: PPGError): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_stream_finish(async_result, error);
+end;
+
+function TGdkPixbuf.new_from_xpm_data(data: PPgchar): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_from_xpm_data(data);
+end;
+
+function TGdkPixbuf.calculate_rowstride(colorspace: TGdkColorspace; has_alpha: gboolean; bits_per_sample: gint; width: gint; height: gint): gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_calculate_rowstride(colorspace, has_alpha, bits_per_sample, width, height);
+end;
+
+function TGdkPixbuf.get_file_info(filename: Pgchar; width: Pgint; height: Pgint): PGdkPixbufFormat; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_file_info(filename, width, height);
+end;
+
+procedure TGdkPixbuf.get_file_info_async(filename: Pgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_get_file_info_async(filename, cancellable, callback, user_data);
+end;
+
+function TGdkPixbuf.get_file_info_finish(async_result: PGAsyncResult; width: Pgint; height: Pgint; error: PPGError): PGdkPixbufFormat; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_file_info_finish(async_result, width, height, error);
+end;
+
+function TGdkPixbuf.get_formats: PGSList; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_formats();
+end;
+
+function TGdkPixbuf.init_modules(path: Pgchar; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_init_modules(path, error);
+end;
+
+procedure TGdkPixbuf.new_from_stream_async(stream: PGInputStream; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_new_from_stream_async(stream, cancellable, callback, user_data);
+end;
+
+procedure TGdkPixbuf.new_from_stream_at_scale_async(stream: PGInputStream; width: gint; height: gint; preserve_aspect_ratio: gboolean; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_new_from_stream_at_scale_async(stream, width, height, preserve_aspect_ratio, cancellable, callback, user_data);
+end;
+
+function TGdkPixbuf.save_to_stream_finish(async_result: PGAsyncResult; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_save_to_stream_finish(async_result, error);
+end;
+
+function TGdkPixbuf.add_alpha(substitute_color: gboolean; r: guint8; g: guint8; b: guint8): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_add_alpha(@self, substitute_color, r, g, b);
+end;
+
+function TGdkPixbuf.apply_embedded_orientation: PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_apply_embedded_orientation(@self);
+end;
+
+procedure TGdkPixbuf.composite(dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType; overall_alpha: gint); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_composite(@self, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type, overall_alpha);
+end;
+
+procedure TGdkPixbuf.composite_color(dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType; overall_alpha: gint; check_x: gint; check_y: gint; check_size: gint; color1: guint32; color2: guint32); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_composite_color(@self, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type, overall_alpha, check_x, check_y, check_size, color1, color2);
+end;
+
+function TGdkPixbuf.composite_color_simple(dest_width: gint; dest_height: gint; interp_type: TGdkInterpType; overall_alpha: gint; check_size: gint; color1: guint32; color2: guint32): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_composite_color_simple(@self, dest_width, dest_height, interp_type, overall_alpha, check_size, color1, color2);
+end;
+
+function TGdkPixbuf.copy: PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_copy(@self);
+end;
+
+procedure TGdkPixbuf.copy_area(src_x: gint; src_y: gint; width: gint; height: gint; dest_pixbuf: PGdkPixbuf; dest_x: gint; dest_y: gint); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_copy_area(@self, src_x, src_y, width, height, dest_pixbuf, dest_x, dest_y);
+end;
+
+function TGdkPixbuf.copy_options(dest_pixbuf: PGdkPixbuf): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_copy_options(@self, dest_pixbuf);
+end;
+
+procedure TGdkPixbuf.fill(pixel: guint32); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_fill(@self, pixel);
+end;
+
+function TGdkPixbuf.flip(horizontal: gboolean): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_flip(@self, horizontal);
+end;
+
+function TGdkPixbuf.get_bits_per_sample: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_bits_per_sample(@self);
+end;
+
+function TGdkPixbuf.get_byte_length: gsize; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_byte_length(@self);
+end;
+
+function TGdkPixbuf.get_colorspace: TGdkColorspace; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_colorspace(@self);
+end;
+
+function TGdkPixbuf.get_has_alpha: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_has_alpha(@self);
+end;
+
+function TGdkPixbuf.get_height: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_height(@self);
+end;
+
+function TGdkPixbuf.get_n_channels: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_n_channels(@self);
+end;
+
+function TGdkPixbuf.get_option(key: Pgchar): Pgchar; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_option(@self, key);
+end;
+
+function TGdkPixbuf.get_options: PGHashTable; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_options(@self);
+end;
+
+function TGdkPixbuf.get_pixels: Pguint8; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_pixels(@self);
+end;
+
+function TGdkPixbuf.get_pixels_with_length(length: Pguint): Pguint8; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_pixels_with_length(@self, length);
+end;
+
+function TGdkPixbuf.get_rowstride: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_rowstride(@self);
+end;
+
+function TGdkPixbuf.get_width: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_get_width(@self);
+end;
+
+function TGdkPixbuf.new_subpixbuf(src_x: gint; src_y: gint; width: gint; height: gint): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_new_subpixbuf(@self, src_x, src_y, width, height);
+end;
+
+function TGdkPixbuf.read_pixel_bytes: PGBytes; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_read_pixel_bytes(@self);
+end;
+
+function TGdkPixbuf.read_pixels: Pguint8; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_read_pixels(@self);
+end;
+
+function TGdkPixbuf.remove_option(key: Pgchar): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_remove_option(@self, key);
+end;
+
+function TGdkPixbuf.rotate_simple(angle: TGdkPixbufRotation): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_rotate_simple(@self, angle);
+end;
+
+procedure TGdkPixbuf.saturate_and_pixelate(dest: PGdkPixbuf; saturation: gfloat; pixelate: gboolean); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_saturate_and_pixelate(@self, dest, saturation, pixelate);
+end;
+
+function TGdkPixbuf.save_to_bufferv(buffer: PPgchar; buffer_size: Pgsize; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_save_to_bufferv(@self, buffer, buffer_size, type_, option_keys, option_values, error);
+end;
+
+function TGdkPixbuf.save_to_callbackv(save_func: TGdkPixbufSaveFunc; user_data: gpointer; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_save_to_callbackv(@self, save_func, user_data, type_, option_keys, option_values, error);
+end;
+
+function TGdkPixbuf.save_to_streamv(stream: PGOutputStream; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; cancellable: PGCancellable; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_save_to_streamv(@self, stream, type_, option_keys, option_values, cancellable, error);
+end;
+
+procedure TGdkPixbuf.save_to_streamv_async(stream: PGOutputStream; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_save_to_streamv_async(@self, stream, type_, option_keys, option_values, cancellable, callback, user_data);
+end;
+
+function TGdkPixbuf.savev(filename: Pgchar; type_: Pgchar; option_keys: PPgchar; option_values: PPgchar; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_savev(@self, filename, type_, option_keys, option_values, error);
+end;
+
+procedure TGdkPixbuf.scale(dest: PGdkPixbuf; dest_x: gint; dest_y: gint; dest_width: gint; dest_height: gint; offset_x: gdouble; offset_y: gdouble; scale_x: gdouble; scale_y: gdouble; interp_type: TGdkInterpType); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_scale(@self, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type);
+end;
+
+function TGdkPixbuf.scale_simple(dest_width: gint; dest_height: gint; interp_type: TGdkInterpType): PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_scale_simple(@self, dest_width, dest_height, interp_type);
+end;
+
+function TGdkPixbuf.set_option(key: Pgchar; value: Pgchar): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_set_option(@self, key, value);
+end;
+
+function TGdkPixbufFormat.copy: PGdkPixbufFormat; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_copy(@self);
+end;
+
+procedure TGdkPixbufFormat.free; cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_format_free(@self);
+end;
+
+function TGdkPixbufFormat.get_description: Pgchar; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_get_description(@self);
+end;
+
+function TGdkPixbufFormat.get_extensions: PPgchar; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_get_extensions(@self);
+end;
+
+function TGdkPixbufFormat.get_license: Pgchar; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_get_license(@self);
+end;
+
+function TGdkPixbufFormat.get_mime_types: PPgchar; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_get_mime_types(@self);
+end;
+
+function TGdkPixbufFormat.get_name: Pgchar; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_get_name(@self);
+end;
+
+function TGdkPixbufFormat.is_disabled: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_is_disabled(@self);
+end;
+
+function TGdkPixbufFormat.is_save_option_supported(option_key: Pgchar): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_is_save_option_supported(@self, option_key);
+end;
+
+function TGdkPixbufFormat.is_scalable: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_is_scalable(@self);
+end;
+
+function TGdkPixbufFormat.is_writable: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_format_is_writable(@self);
+end;
+
+procedure TGdkPixbufFormat.set_disabled(disabled: gboolean); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_format_set_disabled(@self, disabled);
+end;
+
+function TGdkPixbufAnimation.new_from_file(filename: Pgchar; error: PPGError): PGdkPixbufAnimation; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_new_from_file(filename, error);
+end;
+
+function TGdkPixbufAnimation.new_from_resource(resource_path: Pgchar; error: PPGError): PGdkPixbufAnimation; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_new_from_resource(resource_path, error);
+end;
+
+function TGdkPixbufAnimation.new_from_stream(stream: PGInputStream; cancellable: PGCancellable; error: PPGError): PGdkPixbufAnimation; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_new_from_stream(stream, cancellable, error);
+end;
+
+function TGdkPixbufAnimation.new_from_stream_finish(async_result: PGAsyncResult; error: PPGError): PGdkPixbufAnimation; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_new_from_stream_finish(async_result, error);
+end;
+
+procedure TGdkPixbufAnimation.new_from_stream_async(stream: PGInputStream; cancellable: PGCancellable; callback: TGAsyncReadyCallback; user_data: gpointer); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_animation_new_from_stream_async(stream, cancellable, callback, user_data);
+end;
+
+function TGdkPixbufAnimation.get_height: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_get_height(@self);
+end;
+
+function TGdkPixbufAnimation.get_iter(start_time: PGTimeVal): PGdkPixbufAnimationIter; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_get_iter(@self, start_time);
+end;
+
+function TGdkPixbufAnimation.get_static_image: PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_get_static_image(@self);
+end;
+
+function TGdkPixbufAnimation.get_width: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_get_width(@self);
+end;
+
+function TGdkPixbufAnimation.is_static_image: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_is_static_image(@self);
+end;
+
+function TGdkPixbufAnimationIter.advance(current_time: PGTimeVal): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_iter_advance(@self, current_time);
+end;
+
+function TGdkPixbufAnimationIter.get_delay_time: gint; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_iter_get_delay_time(@self);
+end;
+
+function TGdkPixbufAnimationIter.get_pixbuf: PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_iter_get_pixbuf(@self);
+end;
+
+function TGdkPixbufAnimationIter.on_currently_loading_frame: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_animation_iter_on_currently_loading_frame(@self);
+end;
+
+function TGdkPixbufLoader.new: PGdkPixbufLoader; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_new();
+end;
+
+function TGdkPixbufLoader.new_with_mime_type(mime_type: Pgchar; error: PPGError): PGdkPixbufLoader; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_new_with_mime_type(mime_type, error);
+end;
+
+function TGdkPixbufLoader.new_with_type(image_type: Pgchar; error: PPGError): PGdkPixbufLoader; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_new_with_type(image_type, error);
+end;
+
+function TGdkPixbufLoader.close(error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_close(@self, error);
+end;
+
+function TGdkPixbufLoader.get_animation: PGdkPixbufAnimation; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_get_animation(@self);
+end;
+
+function TGdkPixbufLoader.get_format: PGdkPixbufFormat; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_get_format(@self);
+end;
+
+function TGdkPixbufLoader.get_pixbuf: PGdkPixbuf; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_get_pixbuf(@self);
+end;
+
+procedure TGdkPixbufLoader.set_size(width: gint; height: gint); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_loader_set_size(@self, width, height);
+end;
+
+function TGdkPixbufLoader.write(buf: Pguint8; count: gsize; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_write(@self, buf, count, error);
+end;
+
+function TGdkPixbufLoader.write_bytes(buffer: PGBytes; error: PPGError): gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_loader_write_bytes(@self, buffer, error);
+end;
+
+function TGdkPixbufNonAnim.new(pixbuf: PGdkPixbuf): PGdkPixbufNonAnim; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_non_anim_new(pixbuf);
+end;
+
+function TGdkPixbufSimpleAnim.new(width: gint; height: gint; rate: gfloat): PGdkPixbufSimpleAnim; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_simple_anim_new(width, height, rate);
+end;
+
+procedure TGdkPixbufSimpleAnim.add_frame(pixbuf: PGdkPixbuf); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_simple_anim_add_frame(@self, pixbuf);
+end;
+
+function TGdkPixbufSimpleAnim.get_loop: gboolean; cdecl;
+begin
+ Result := LazGdkPixbuf2.gdk_pixbuf_simple_anim_get_loop(@self);
+end;
+
+procedure TGdkPixbufSimpleAnim.set_loop(loop: gboolean); cdecl;
+begin
+ LazGdkPixbuf2.gdk_pixbuf_simple_anim_set_loop(@self, loop);
+end;
+
+end.