gdk_pixbuf_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7    clippy::approx_constant,
8    clippy::type_complexity,
9    clippy::unreadable_literal
10)]
11
12extern crate gio_sys as gio;
13extern crate glib_sys as glib;
14extern crate gobject_sys as gobject;
15extern crate libc;
16
17#[allow(unused_imports)]
18use libc::{
19    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
20    intptr_t, size_t, ssize_t, time_t, uintptr_t, FILE,
21};
22
23#[allow(unused_imports)]
24use glib::{gboolean, gconstpointer, gpointer, GType};
25
26// Enums
27pub type GdkColorspace = c_int;
28pub const GDK_COLORSPACE_RGB: GdkColorspace = 0;
29
30pub type GdkInterpType = c_int;
31pub const GDK_INTERP_NEAREST: GdkInterpType = 0;
32pub const GDK_INTERP_TILES: GdkInterpType = 1;
33pub const GDK_INTERP_BILINEAR: GdkInterpType = 2;
34pub const GDK_INTERP_HYPER: GdkInterpType = 3;
35
36pub type GdkPixbufAlphaMode = c_int;
37pub const GDK_PIXBUF_ALPHA_BILEVEL: GdkPixbufAlphaMode = 0;
38pub const GDK_PIXBUF_ALPHA_FULL: GdkPixbufAlphaMode = 1;
39
40pub type GdkPixbufError = c_int;
41pub const GDK_PIXBUF_ERROR_CORRUPT_IMAGE: GdkPixbufError = 0;
42pub const GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY: GdkPixbufError = 1;
43pub const GDK_PIXBUF_ERROR_BAD_OPTION: GdkPixbufError = 2;
44pub const GDK_PIXBUF_ERROR_UNKNOWN_TYPE: GdkPixbufError = 3;
45pub const GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION: GdkPixbufError = 4;
46pub const GDK_PIXBUF_ERROR_FAILED: GdkPixbufError = 5;
47pub const GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION: GdkPixbufError = 6;
48
49pub type GdkPixbufRotation = c_int;
50pub const GDK_PIXBUF_ROTATE_NONE: GdkPixbufRotation = 0;
51pub const GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE: GdkPixbufRotation = 90;
52pub const GDK_PIXBUF_ROTATE_UPSIDEDOWN: GdkPixbufRotation = 180;
53pub const GDK_PIXBUF_ROTATE_CLOCKWISE: GdkPixbufRotation = 270;
54
55// Constants
56
57// Callbacks
58pub type GdkPixbufDestroyNotify = Option<unsafe extern "C" fn(*mut u8, gpointer)>;
59pub type GdkPixbufSaveFunc =
60    Option<unsafe extern "C" fn(*const u8, size_t, *mut *mut glib::GError, gpointer) -> gboolean>;
61
62// Records
63#[repr(C)]
64pub struct GdkPixbufFormat(c_void);
65
66impl ::std::fmt::Debug for GdkPixbufFormat {
67    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
68        f.debug_struct(&format!("GdkPixbufFormat @ {:?}", self as *const _))
69            .finish()
70    }
71}
72
73#[repr(C)]
74#[derive(Copy, Clone)]
75pub struct GdkPixbufLoaderClass {
76    pub parent_class: gobject::GObjectClass,
77    pub size_prepared: Option<unsafe extern "C" fn(*mut GdkPixbufLoader, c_int, c_int)>,
78    pub area_prepared: Option<unsafe extern "C" fn(*mut GdkPixbufLoader)>,
79    pub area_updated:
80        Option<unsafe extern "C" fn(*mut GdkPixbufLoader, c_int, c_int, c_int, c_int)>,
81    pub closed: Option<unsafe extern "C" fn(*mut GdkPixbufLoader)>,
82}
83
84impl ::std::fmt::Debug for GdkPixbufLoaderClass {
85    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
86        f.debug_struct(&format!("GdkPixbufLoaderClass @ {:?}", self as *const _))
87            .field("parent_class", &self.parent_class)
88            .field("size_prepared", &self.size_prepared)
89            .field("area_prepared", &self.area_prepared)
90            .field("area_updated", &self.area_updated)
91            .field("closed", &self.closed)
92            .finish()
93    }
94}
95
96#[repr(C)]
97pub struct _GdkPixbufSimpleAnimClass(c_void);
98
99pub type GdkPixbufSimpleAnimClass = *mut _GdkPixbufSimpleAnimClass;
100
101// Classes
102#[repr(C)]
103pub struct GdkPixbuf(c_void);
104
105impl ::std::fmt::Debug for GdkPixbuf {
106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
107        f.debug_struct(&format!("GdkPixbuf @ {:?}", self as *const _))
108            .finish()
109    }
110}
111
112#[repr(C)]
113pub struct GdkPixbufAnimation(c_void);
114
115impl ::std::fmt::Debug for GdkPixbufAnimation {
116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
117        f.debug_struct(&format!("GdkPixbufAnimation @ {:?}", self as *const _))
118            .finish()
119    }
120}
121
122#[repr(C)]
123pub struct GdkPixbufAnimationIter(c_void);
124
125impl ::std::fmt::Debug for GdkPixbufAnimationIter {
126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
127        f.debug_struct(&format!("GdkPixbufAnimationIter @ {:?}", self as *const _))
128            .finish()
129    }
130}
131
132#[repr(C)]
133#[derive(Copy, Clone)]
134pub struct GdkPixbufLoader {
135    pub parent_instance: gobject::GObject,
136    pub priv_: gpointer,
137}
138
139impl ::std::fmt::Debug for GdkPixbufLoader {
140    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
141        f.debug_struct(&format!("GdkPixbufLoader @ {:?}", self as *const _))
142            .field("parent_instance", &self.parent_instance)
143            .finish()
144    }
145}
146
147#[repr(C)]
148pub struct GdkPixbufSimpleAnim(c_void);
149
150impl ::std::fmt::Debug for GdkPixbufSimpleAnim {
151    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
152        f.debug_struct(&format!("GdkPixbufSimpleAnim @ {:?}", self as *const _))
153            .finish()
154    }
155}
156
157#[repr(C)]
158pub struct GdkPixbufSimpleAnimIter(c_void);
159
160impl ::std::fmt::Debug for GdkPixbufSimpleAnimIter {
161    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
162        f.debug_struct(&format!("GdkPixbufSimpleAnimIter @ {:?}", self as *const _))
163            .finish()
164    }
165}
166
167extern "C" {
168
169    //=========================================================================
170    // GdkColorspace
171    //=========================================================================
172    pub fn gdk_colorspace_get_type() -> GType;
173
174    //=========================================================================
175    // GdkInterpType
176    //=========================================================================
177    pub fn gdk_interp_type_get_type() -> GType;
178
179    //=========================================================================
180    // GdkPixbufAlphaMode
181    //=========================================================================
182    pub fn gdk_pixbuf_alpha_mode_get_type() -> GType;
183
184    //=========================================================================
185    // GdkPixbufError
186    //=========================================================================
187    pub fn gdk_pixbuf_error_get_type() -> GType;
188    pub fn gdk_pixbuf_error_quark() -> glib::GQuark;
189
190    //=========================================================================
191    // GdkPixbufRotation
192    //=========================================================================
193    pub fn gdk_pixbuf_rotation_get_type() -> GType;
194
195    //=========================================================================
196    // GdkPixbufFormat
197    //=========================================================================
198    pub fn gdk_pixbuf_format_get_type() -> GType;
199    pub fn gdk_pixbuf_format_copy(format: *const GdkPixbufFormat) -> *mut GdkPixbufFormat;
200    pub fn gdk_pixbuf_format_free(format: *mut GdkPixbufFormat);
201    pub fn gdk_pixbuf_format_get_description(format: *mut GdkPixbufFormat) -> *mut c_char;
202    pub fn gdk_pixbuf_format_get_extensions(format: *mut GdkPixbufFormat) -> *mut *mut c_char;
203    pub fn gdk_pixbuf_format_get_license(format: *mut GdkPixbufFormat) -> *mut c_char;
204    pub fn gdk_pixbuf_format_get_mime_types(format: *mut GdkPixbufFormat) -> *mut *mut c_char;
205    pub fn gdk_pixbuf_format_get_name(format: *mut GdkPixbufFormat) -> *mut c_char;
206    pub fn gdk_pixbuf_format_is_disabled(format: *mut GdkPixbufFormat) -> gboolean;
207    #[cfg(any(feature = "v2_36", feature = "dox"))]
208    pub fn gdk_pixbuf_format_is_save_option_supported(
209        format: *mut GdkPixbufFormat,
210        option_key: *const c_char,
211    ) -> gboolean;
212    pub fn gdk_pixbuf_format_is_scalable(format: *mut GdkPixbufFormat) -> gboolean;
213    pub fn gdk_pixbuf_format_is_writable(format: *mut GdkPixbufFormat) -> gboolean;
214    pub fn gdk_pixbuf_format_set_disabled(format: *mut GdkPixbufFormat, disabled: gboolean);
215
216    //=========================================================================
217    // GdkPixbuf
218    //=========================================================================
219    pub fn gdk_pixbuf_get_type() -> GType;
220    pub fn gdk_pixbuf_new(
221        colorspace: GdkColorspace,
222        has_alpha: gboolean,
223        bits_per_sample: c_int,
224        width: c_int,
225        height: c_int,
226    ) -> *mut GdkPixbuf;
227    #[cfg(any(feature = "v2_32", feature = "dox"))]
228    pub fn gdk_pixbuf_new_from_bytes(
229        data: *mut glib::GBytes,
230        colorspace: GdkColorspace,
231        has_alpha: gboolean,
232        bits_per_sample: c_int,
233        width: c_int,
234        height: c_int,
235        rowstride: c_int,
236    ) -> *mut GdkPixbuf;
237    pub fn gdk_pixbuf_new_from_data(
238        data: *const u8,
239        colorspace: GdkColorspace,
240        has_alpha: gboolean,
241        bits_per_sample: c_int,
242        width: c_int,
243        height: c_int,
244        rowstride: c_int,
245        destroy_fn: GdkPixbufDestroyNotify,
246        destroy_fn_data: gpointer,
247    ) -> *mut GdkPixbuf;
248    #[cfg(any(windows, feature = "dox"))]
249    pub fn gdk_pixbuf_new_from_file_utf8(
250        filename: *const c_char,
251        error: *mut *mut glib::GError,
252    ) -> *mut GdkPixbuf;
253    pub fn gdk_pixbuf_new_from_file(
254        filename: *const c_char,
255        error: *mut *mut glib::GError,
256    ) -> *mut GdkPixbuf;
257    #[cfg(any(windows, feature = "dox"))]
258    pub fn gdk_pixbuf_new_from_file_at_scale_utf8(
259        filename: *const c_char,
260        width: c_int,
261        height: c_int,
262        preserve_aspect_ratio: gboolean,
263        error: *mut *mut glib::GError,
264    ) -> *mut GdkPixbuf;
265    pub fn gdk_pixbuf_new_from_file_at_scale(
266        filename: *const c_char,
267        width: c_int,
268        height: c_int,
269        preserve_aspect_ratio: gboolean,
270        error: *mut *mut glib::GError,
271    ) -> *mut GdkPixbuf;
272    #[cfg(any(windows, feature = "dox"))]
273    pub fn gdk_pixbuf_new_from_file_at_size_utf8(
274        filename: *const c_char,
275        width: c_int,
276        height: c_int,
277        error: *mut *mut glib::GError,
278    ) -> *mut GdkPixbuf;
279    pub fn gdk_pixbuf_new_from_file_at_size(
280        filename: *const c_char,
281        width: c_int,
282        height: c_int,
283        error: *mut *mut glib::GError,
284    ) -> *mut GdkPixbuf;
285    pub fn gdk_pixbuf_new_from_inline(
286        data_length: c_int,
287        data: *const u8,
288        copy_pixels: gboolean,
289        error: *mut *mut glib::GError,
290    ) -> *mut GdkPixbuf;
291    pub fn gdk_pixbuf_new_from_resource(
292        resource_path: *const c_char,
293        error: *mut *mut glib::GError,
294    ) -> *mut GdkPixbuf;
295    pub fn gdk_pixbuf_new_from_resource_at_scale(
296        resource_path: *const c_char,
297        width: c_int,
298        height: c_int,
299        preserve_aspect_ratio: gboolean,
300        error: *mut *mut glib::GError,
301    ) -> *mut GdkPixbuf;
302    pub fn gdk_pixbuf_new_from_stream(
303        stream: *mut gio::GInputStream,
304        cancellable: *mut gio::GCancellable,
305        error: *mut *mut glib::GError,
306    ) -> *mut GdkPixbuf;
307    pub fn gdk_pixbuf_new_from_stream_at_scale(
308        stream: *mut gio::GInputStream,
309        width: c_int,
310        height: c_int,
311        preserve_aspect_ratio: gboolean,
312        cancellable: *mut gio::GCancellable,
313        error: *mut *mut glib::GError,
314    ) -> *mut GdkPixbuf;
315    pub fn gdk_pixbuf_new_from_stream_finish(
316        async_result: *mut gio::GAsyncResult,
317        error: *mut *mut glib::GError,
318    ) -> *mut GdkPixbuf;
319    pub fn gdk_pixbuf_new_from_xpm_data(data: *mut *const c_char) -> *mut GdkPixbuf;
320    #[cfg(any(feature = "v2_36_8", feature = "dox"))]
321    pub fn gdk_pixbuf_calculate_rowstride(
322        colorspace: GdkColorspace,
323        has_alpha: gboolean,
324        bits_per_sample: c_int,
325        width: c_int,
326        height: c_int,
327    ) -> c_int;
328    pub fn gdk_pixbuf_get_file_info(
329        filename: *const c_char,
330        width: *mut c_int,
331        height: *mut c_int,
332    ) -> *mut GdkPixbufFormat;
333    #[cfg(any(feature = "v2_32", feature = "dox"))]
334    pub fn gdk_pixbuf_get_file_info_async(
335        filename: *const c_char,
336        cancellable: *mut gio::GCancellable,
337        callback: gio::GAsyncReadyCallback,
338        user_data: gpointer,
339    );
340    #[cfg(any(feature = "v2_32", feature = "dox"))]
341    pub fn gdk_pixbuf_get_file_info_finish(
342        async_result: *mut gio::GAsyncResult,
343        width: *mut c_int,
344        height: *mut c_int,
345        error: *mut *mut glib::GError,
346    ) -> *mut GdkPixbufFormat;
347    pub fn gdk_pixbuf_get_formats() -> *mut glib::GSList;
348    pub fn gdk_pixbuf_new_from_stream_async(
349        stream: *mut gio::GInputStream,
350        cancellable: *mut gio::GCancellable,
351        callback: gio::GAsyncReadyCallback,
352        user_data: gpointer,
353    );
354    pub fn gdk_pixbuf_new_from_stream_at_scale_async(
355        stream: *mut gio::GInputStream,
356        width: c_int,
357        height: c_int,
358        preserve_aspect_ratio: gboolean,
359        cancellable: *mut gio::GCancellable,
360        callback: gio::GAsyncReadyCallback,
361        user_data: gpointer,
362    );
363    pub fn gdk_pixbuf_save_to_stream_finish(
364        async_result: *mut gio::GAsyncResult,
365        error: *mut *mut glib::GError,
366    ) -> gboolean;
367    pub fn gdk_pixbuf_add_alpha(
368        pixbuf: *const GdkPixbuf,
369        substitute_color: gboolean,
370        r: c_uchar,
371        g: c_uchar,
372        b: c_uchar,
373    ) -> *mut GdkPixbuf;
374    pub fn gdk_pixbuf_apply_embedded_orientation(src: *mut GdkPixbuf) -> *mut GdkPixbuf;
375    pub fn gdk_pixbuf_composite(
376        src: *const GdkPixbuf,
377        dest: *mut GdkPixbuf,
378        dest_x: c_int,
379        dest_y: c_int,
380        dest_width: c_int,
381        dest_height: c_int,
382        offset_x: c_double,
383        offset_y: c_double,
384        scale_x: c_double,
385        scale_y: c_double,
386        interp_type: GdkInterpType,
387        overall_alpha: c_int,
388    );
389    pub fn gdk_pixbuf_composite_color(
390        src: *const GdkPixbuf,
391        dest: *mut GdkPixbuf,
392        dest_x: c_int,
393        dest_y: c_int,
394        dest_width: c_int,
395        dest_height: c_int,
396        offset_x: c_double,
397        offset_y: c_double,
398        scale_x: c_double,
399        scale_y: c_double,
400        interp_type: GdkInterpType,
401        overall_alpha: c_int,
402        check_x: c_int,
403        check_y: c_int,
404        check_size: c_int,
405        color1: u32,
406        color2: u32,
407    );
408    pub fn gdk_pixbuf_composite_color_simple(
409        src: *const GdkPixbuf,
410        dest_width: c_int,
411        dest_height: c_int,
412        interp_type: GdkInterpType,
413        overall_alpha: c_int,
414        check_size: c_int,
415        color1: u32,
416        color2: u32,
417    ) -> *mut GdkPixbuf;
418    pub fn gdk_pixbuf_copy(pixbuf: *const GdkPixbuf) -> *mut GdkPixbuf;
419    pub fn gdk_pixbuf_copy_area(
420        src_pixbuf: *const GdkPixbuf,
421        src_x: c_int,
422        src_y: c_int,
423        width: c_int,
424        height: c_int,
425        dest_pixbuf: *mut GdkPixbuf,
426        dest_x: c_int,
427        dest_y: c_int,
428    );
429    #[cfg(any(feature = "v2_36", feature = "dox"))]
430    pub fn gdk_pixbuf_copy_options(
431        src_pixbuf: *mut GdkPixbuf,
432        dest_pixbuf: *mut GdkPixbuf,
433    ) -> gboolean;
434    pub fn gdk_pixbuf_fill(pixbuf: *mut GdkPixbuf, pixel: u32);
435    pub fn gdk_pixbuf_flip(src: *const GdkPixbuf, horizontal: gboolean) -> *mut GdkPixbuf;
436    pub fn gdk_pixbuf_get_bits_per_sample(pixbuf: *const GdkPixbuf) -> c_int;
437    pub fn gdk_pixbuf_get_byte_length(pixbuf: *const GdkPixbuf) -> size_t;
438    pub fn gdk_pixbuf_get_colorspace(pixbuf: *const GdkPixbuf) -> GdkColorspace;
439    pub fn gdk_pixbuf_get_has_alpha(pixbuf: *const GdkPixbuf) -> gboolean;
440    pub fn gdk_pixbuf_get_height(pixbuf: *const GdkPixbuf) -> c_int;
441    pub fn gdk_pixbuf_get_n_channels(pixbuf: *const GdkPixbuf) -> c_int;
442    pub fn gdk_pixbuf_get_option(pixbuf: *mut GdkPixbuf, key: *const c_char) -> *const c_char;
443    #[cfg(any(feature = "v2_32", feature = "dox"))]
444    pub fn gdk_pixbuf_get_options(pixbuf: *mut GdkPixbuf) -> *mut glib::GHashTable;
445    pub fn gdk_pixbuf_get_pixels(pixbuf: *const GdkPixbuf) -> *mut u8;
446    pub fn gdk_pixbuf_get_pixels_with_length(
447        pixbuf: *const GdkPixbuf,
448        length: *mut c_uint,
449    ) -> *mut u8;
450    pub fn gdk_pixbuf_get_rowstride(pixbuf: *const GdkPixbuf) -> c_int;
451    pub fn gdk_pixbuf_get_width(pixbuf: *const GdkPixbuf) -> c_int;
452    pub fn gdk_pixbuf_new_subpixbuf(
453        src_pixbuf: *mut GdkPixbuf,
454        src_x: c_int,
455        src_y: c_int,
456        width: c_int,
457        height: c_int,
458    ) -> *mut GdkPixbuf;
459    #[cfg(any(feature = "v2_32", feature = "dox"))]
460    pub fn gdk_pixbuf_read_pixel_bytes(pixbuf: *const GdkPixbuf) -> *mut glib::GBytes;
461    #[cfg(any(feature = "v2_32", feature = "dox"))]
462    pub fn gdk_pixbuf_read_pixels(pixbuf: *const GdkPixbuf) -> *const u8;
463    pub fn gdk_pixbuf_ref(pixbuf: *mut GdkPixbuf) -> *mut GdkPixbuf;
464    #[cfg(any(feature = "v2_36", feature = "dox"))]
465    pub fn gdk_pixbuf_remove_option(pixbuf: *mut GdkPixbuf, key: *const c_char) -> gboolean;
466    pub fn gdk_pixbuf_rotate_simple(
467        src: *const GdkPixbuf,
468        angle: GdkPixbufRotation,
469    ) -> *mut GdkPixbuf;
470    pub fn gdk_pixbuf_saturate_and_pixelate(
471        src: *const GdkPixbuf,
472        dest: *mut GdkPixbuf,
473        saturation: c_float,
474        pixelate: gboolean,
475    );
476    #[cfg(any(windows, feature = "dox"))]
477    pub fn gdk_pixbuf_save_utf8(
478        pixbuf: *mut GdkPixbuf,
479        filename: *const c_char,
480        type_: *const c_char,
481        error: *mut *mut glib::GError,
482        ...
483    ) -> gboolean;
484    pub fn gdk_pixbuf_save(
485        pixbuf: *mut GdkPixbuf,
486        filename: *const c_char,
487        type_: *const c_char,
488        error: *mut *mut glib::GError,
489        ...
490    ) -> gboolean;
491    pub fn gdk_pixbuf_save_to_buffer(
492        pixbuf: *mut GdkPixbuf,
493        buffer: *mut *mut u8,
494        buffer_size: *mut size_t,
495        type_: *const c_char,
496        error: *mut *mut glib::GError,
497        ...
498    ) -> gboolean;
499    pub fn gdk_pixbuf_save_to_bufferv(
500        pixbuf: *mut GdkPixbuf,
501        buffer: *mut *mut u8,
502        buffer_size: *mut size_t,
503        type_: *const c_char,
504        option_keys: *mut *mut c_char,
505        option_values: *mut *mut c_char,
506        error: *mut *mut glib::GError,
507    ) -> gboolean;
508    pub fn gdk_pixbuf_save_to_callback(
509        pixbuf: *mut GdkPixbuf,
510        save_func: GdkPixbufSaveFunc,
511        user_data: gpointer,
512        type_: *const c_char,
513        error: *mut *mut glib::GError,
514        ...
515    ) -> gboolean;
516    pub fn gdk_pixbuf_save_to_callbackv(
517        pixbuf: *mut GdkPixbuf,
518        save_func: GdkPixbufSaveFunc,
519        user_data: gpointer,
520        type_: *const c_char,
521        option_keys: *mut *mut c_char,
522        option_values: *mut *mut c_char,
523        error: *mut *mut glib::GError,
524    ) -> gboolean;
525    pub fn gdk_pixbuf_save_to_stream(
526        pixbuf: *mut GdkPixbuf,
527        stream: *mut gio::GOutputStream,
528        type_: *const c_char,
529        cancellable: *mut gio::GCancellable,
530        error: *mut *mut glib::GError,
531        ...
532    ) -> gboolean;
533    pub fn gdk_pixbuf_save_to_stream_async(
534        pixbuf: *mut GdkPixbuf,
535        stream: *mut gio::GOutputStream,
536        type_: *const c_char,
537        cancellable: *mut gio::GCancellable,
538        callback: gio::GAsyncReadyCallback,
539        user_data: gpointer,
540        ...
541    );
542    #[cfg(any(feature = "v2_36", feature = "dox"))]
543    pub fn gdk_pixbuf_save_to_streamv(
544        pixbuf: *mut GdkPixbuf,
545        stream: *mut gio::GOutputStream,
546        type_: *const c_char,
547        option_keys: *mut *mut c_char,
548        option_values: *mut *mut c_char,
549        cancellable: *mut gio::GCancellable,
550        error: *mut *mut glib::GError,
551    ) -> gboolean;
552    #[cfg(any(feature = "v2_36", feature = "dox"))]
553    pub fn gdk_pixbuf_save_to_streamv_async(
554        pixbuf: *mut GdkPixbuf,
555        stream: *mut gio::GOutputStream,
556        type_: *const c_char,
557        option_keys: *mut *mut c_char,
558        option_values: *mut *mut c_char,
559        cancellable: *mut gio::GCancellable,
560        callback: gio::GAsyncReadyCallback,
561        user_data: gpointer,
562    );
563    #[cfg(any(windows, feature = "dox"))]
564    pub fn gdk_pixbuf_savev_utf8(
565        pixbuf: *mut GdkPixbuf,
566        filename: *const c_char,
567        type_: *const c_char,
568        option_keys: *mut *mut c_char,
569        option_values: *mut *mut c_char,
570        error: *mut *mut glib::GError,
571    ) -> gboolean;
572    pub fn gdk_pixbuf_savev(
573        pixbuf: *mut GdkPixbuf,
574        filename: *const c_char,
575        type_: *const c_char,
576        option_keys: *mut *mut c_char,
577        option_values: *mut *mut c_char,
578        error: *mut *mut glib::GError,
579    ) -> gboolean;
580    pub fn gdk_pixbuf_scale(
581        src: *const GdkPixbuf,
582        dest: *mut GdkPixbuf,
583        dest_x: c_int,
584        dest_y: c_int,
585        dest_width: c_int,
586        dest_height: c_int,
587        offset_x: c_double,
588        offset_y: c_double,
589        scale_x: c_double,
590        scale_y: c_double,
591        interp_type: GdkInterpType,
592    );
593    pub fn gdk_pixbuf_scale_simple(
594        src: *const GdkPixbuf,
595        dest_width: c_int,
596        dest_height: c_int,
597        interp_type: GdkInterpType,
598    ) -> *mut GdkPixbuf;
599    pub fn gdk_pixbuf_set_option(
600        pixbuf: *mut GdkPixbuf,
601        key: *const c_char,
602        value: *const c_char,
603    ) -> gboolean;
604    pub fn gdk_pixbuf_unref(pixbuf: *mut GdkPixbuf);
605
606    //=========================================================================
607    // GdkPixbufAnimation
608    //=========================================================================
609    pub fn gdk_pixbuf_animation_get_type() -> GType;
610    #[cfg(any(windows, feature = "dox"))]
611    pub fn gdk_pixbuf_animation_new_from_file_utf8(
612        filename: *const c_char,
613        error: *mut *mut glib::GError,
614    ) -> *mut GdkPixbufAnimation;
615    pub fn gdk_pixbuf_animation_new_from_file(
616        filename: *const c_char,
617        error: *mut *mut glib::GError,
618    ) -> *mut GdkPixbufAnimation;
619    pub fn gdk_pixbuf_animation_new_from_resource(
620        resource_path: *const c_char,
621        error: *mut *mut glib::GError,
622    ) -> *mut GdkPixbufAnimation;
623    pub fn gdk_pixbuf_animation_new_from_stream(
624        stream: *mut gio::GInputStream,
625        cancellable: *mut gio::GCancellable,
626        error: *mut *mut glib::GError,
627    ) -> *mut GdkPixbufAnimation;
628    pub fn gdk_pixbuf_animation_new_from_stream_finish(
629        async_result: *mut gio::GAsyncResult,
630        error: *mut *mut glib::GError,
631    ) -> *mut GdkPixbufAnimation;
632    pub fn gdk_pixbuf_animation_new_from_stream_async(
633        stream: *mut gio::GInputStream,
634        cancellable: *mut gio::GCancellable,
635        callback: gio::GAsyncReadyCallback,
636        user_data: gpointer,
637    );
638    pub fn gdk_pixbuf_animation_get_height(animation: *mut GdkPixbufAnimation) -> c_int;
639    pub fn gdk_pixbuf_animation_get_iter(
640        animation: *mut GdkPixbufAnimation,
641        start_time: *const glib::GTimeVal,
642    ) -> *mut GdkPixbufAnimationIter;
643    pub fn gdk_pixbuf_animation_get_static_image(
644        animation: *mut GdkPixbufAnimation,
645    ) -> *mut GdkPixbuf;
646    pub fn gdk_pixbuf_animation_get_width(animation: *mut GdkPixbufAnimation) -> c_int;
647    pub fn gdk_pixbuf_animation_is_static_image(animation: *mut GdkPixbufAnimation) -> gboolean;
648    pub fn gdk_pixbuf_animation_ref(animation: *mut GdkPixbufAnimation) -> *mut GdkPixbufAnimation;
649    pub fn gdk_pixbuf_animation_unref(animation: *mut GdkPixbufAnimation);
650
651    //=========================================================================
652    // GdkPixbufAnimationIter
653    //=========================================================================
654    pub fn gdk_pixbuf_animation_iter_get_type() -> GType;
655    pub fn gdk_pixbuf_animation_iter_advance(
656        iter: *mut GdkPixbufAnimationIter,
657        current_time: *const glib::GTimeVal,
658    ) -> gboolean;
659    pub fn gdk_pixbuf_animation_iter_get_delay_time(iter: *mut GdkPixbufAnimationIter) -> c_int;
660    pub fn gdk_pixbuf_animation_iter_get_pixbuf(
661        iter: *mut GdkPixbufAnimationIter,
662    ) -> *mut GdkPixbuf;
663    pub fn gdk_pixbuf_animation_iter_on_currently_loading_frame(
664        iter: *mut GdkPixbufAnimationIter,
665    ) -> gboolean;
666
667    //=========================================================================
668    // GdkPixbufLoader
669    //=========================================================================
670    pub fn gdk_pixbuf_loader_get_type() -> GType;
671    pub fn gdk_pixbuf_loader_new() -> *mut GdkPixbufLoader;
672    pub fn gdk_pixbuf_loader_new_with_mime_type(
673        mime_type: *const c_char,
674        error: *mut *mut glib::GError,
675    ) -> *mut GdkPixbufLoader;
676    pub fn gdk_pixbuf_loader_new_with_type(
677        image_type: *const c_char,
678        error: *mut *mut glib::GError,
679    ) -> *mut GdkPixbufLoader;
680    pub fn gdk_pixbuf_loader_close(
681        loader: *mut GdkPixbufLoader,
682        error: *mut *mut glib::GError,
683    ) -> gboolean;
684    pub fn gdk_pixbuf_loader_get_animation(loader: *mut GdkPixbufLoader)
685        -> *mut GdkPixbufAnimation;
686    pub fn gdk_pixbuf_loader_get_format(loader: *mut GdkPixbufLoader) -> *mut GdkPixbufFormat;
687    pub fn gdk_pixbuf_loader_get_pixbuf(loader: *mut GdkPixbufLoader) -> *mut GdkPixbuf;
688    pub fn gdk_pixbuf_loader_set_size(loader: *mut GdkPixbufLoader, width: c_int, height: c_int);
689    pub fn gdk_pixbuf_loader_write(
690        loader: *mut GdkPixbufLoader,
691        buf: *const u8,
692        count: size_t,
693        error: *mut *mut glib::GError,
694    ) -> gboolean;
695    pub fn gdk_pixbuf_loader_write_bytes(
696        loader: *mut GdkPixbufLoader,
697        buffer: *mut glib::GBytes,
698        error: *mut *mut glib::GError,
699    ) -> gboolean;
700
701    //=========================================================================
702    // GdkPixbufSimpleAnim
703    //=========================================================================
704    pub fn gdk_pixbuf_simple_anim_get_type() -> GType;
705    pub fn gdk_pixbuf_simple_anim_new(
706        width: c_int,
707        height: c_int,
708        rate: c_float,
709    ) -> *mut GdkPixbufSimpleAnim;
710    pub fn gdk_pixbuf_simple_anim_add_frame(
711        animation: *mut GdkPixbufSimpleAnim,
712        pixbuf: *mut GdkPixbuf,
713    );
714    pub fn gdk_pixbuf_simple_anim_get_loop(animation: *mut GdkPixbufSimpleAnim) -> gboolean;
715    pub fn gdk_pixbuf_simple_anim_set_loop(animation: *mut GdkPixbufSimpleAnim, loop_: gboolean);
716
717    //=========================================================================
718    // GdkPixbufSimpleAnimIter
719    //=========================================================================
720    pub fn gdk_pixbuf_simple_anim_iter_get_type() -> GType;
721
722}