mirror of
https://github.com/tauri-apps/gir-files.git
synced 2026-01-31 00:45:15 +01:00
4821 lines
232 KiB
XML
4821 lines
232 KiB
XML
<?xml version="1.0"?>
|
|
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
|
To affect the contents of this file, edit the original C definitions,
|
|
and/or use gtk-doc annotations. -->
|
|
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
|
|
<include name="GModule" version="2.0"/>
|
|
<include name="Gio" version="2.0"/>
|
|
<package name="gdk-pixbuf-2.0"/>
|
|
<c:include name="gdk-pixbuf/gdk-pixbuf.h"/>
|
|
<namespace name="GdkPixbuf" version="2.0" shared-library="libgdk_pixbuf-2.0.so.0" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
|
|
<enumeration name="Colorspace" glib:type-name="GdkColorspace" glib:get-type="gdk_colorspace_get_type" c:type="GdkColorspace">
|
|
<doc xml:space="preserve">This enumeration defines the color spaces that are supported by
|
|
the gdk-pixbuf library.
|
|
|
|
Currently only RGB is supported.</doc>
|
|
<member name="rgb" value="0" c:identifier="GDK_COLORSPACE_RGB" glib:nick="rgb" glib:name="GDK_COLORSPACE_RGB">
|
|
<doc xml:space="preserve">Indicates a red/green/blue additive color space.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="IS_PIXBUF" c:identifier="GDK_IS_PIXBUF" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_ANIMATION" c:identifier="GDK_IS_PIXBUF_ANIMATION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_ANIMATION_CLASS" c:identifier="GDK_IS_PIXBUF_ANIMATION_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_ANIMATION_ITER" c:identifier="GDK_IS_PIXBUF_ANIMATION_ITER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_ANIMATION_ITER_CLASS" c:identifier="GDK_IS_PIXBUF_ANIMATION_ITER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_LOADER" c:identifier="GDK_IS_PIXBUF_LOADER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_LOADER_CLASS" c:identifier="GDK_IS_PIXBUF_LOADER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_SIMPLE_ANIM" c:identifier="GDK_IS_PIXBUF_SIMPLE_ANIM" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIXBUF_SIMPLE_ANIM_CLASS" c:identifier="GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="InterpType" glib:type-name="GdkInterpType" glib:get-type="gdk_interp_type_get_type" c:type="GdkInterpType">
|
|
<doc xml:space="preserve">Interpolation modes for scaling functions.
|
|
|
|
The `GDK_INTERP_NEAREST` mode is the fastest scaling method, but has
|
|
horrible quality when scaling down; `GDK_INTERP_BILINEAR` is the best
|
|
choice if you aren't sure what to choose, it has a good speed/quality
|
|
balance.
|
|
|
|
**Note**: Cubic filtering is missing from the list; hyperbolic
|
|
interpolation is just as fast and results in higher quality.</doc>
|
|
<member name="nearest" value="0" c:identifier="GDK_INTERP_NEAREST" glib:nick="nearest" glib:name="GDK_INTERP_NEAREST">
|
|
<doc xml:space="preserve">Nearest neighbor sampling; this is the fastest
|
|
and lowest quality mode. Quality is normally unacceptable when scaling
|
|
down, but may be OK when scaling up.</doc>
|
|
</member>
|
|
<member name="tiles" value="1" c:identifier="GDK_INTERP_TILES" glib:nick="tiles" glib:name="GDK_INTERP_TILES">
|
|
<doc xml:space="preserve">This is an accurate simulation of the PostScript
|
|
image operator without any interpolation enabled. Each pixel is
|
|
rendered as a tiny parallelogram of solid color, the edges of which
|
|
are implemented with antialiasing. It resembles nearest neighbor for
|
|
enlargement, and bilinear for reduction.</doc>
|
|
</member>
|
|
<member name="bilinear" value="2" c:identifier="GDK_INTERP_BILINEAR" glib:nick="bilinear" glib:name="GDK_INTERP_BILINEAR">
|
|
<doc xml:space="preserve">Best quality/speed balance; use this mode by
|
|
default. Bilinear interpolation. For enlargement, it is
|
|
equivalent to point-sampling the ideal bilinear-interpolated image.
|
|
For reduction, it is equivalent to laying down small tiles and
|
|
integrating over the coverage area.</doc>
|
|
</member>
|
|
<member name="hyper" value="3" c:identifier="GDK_INTERP_HYPER" glib:nick="hyper" glib:name="GDK_INTERP_HYPER">
|
|
<doc xml:space="preserve">This is the slowest and highest quality
|
|
reconstruction function. It is derived from the hyperbolic filters in
|
|
Wolberg's "Digital Image Warping", and is formally defined as the
|
|
hyperbolic-filter sampling the ideal hyperbolic-filter interpolated
|
|
image (the filter is designed to be idempotent for 1:1 pixel mapping).
|
|
**Deprecated**: this interpolation filter is deprecated, as in reality
|
|
it has a lower quality than the @GDK_INTERP_BILINEAR filter
|
|
(Since: 2.38)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="PIXBUF" c:identifier="GDK_PIXBUF" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_ANIMATION" c:identifier="GDK_PIXBUF_ANIMATION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_ANIMATION_CLASS" c:identifier="GDK_PIXBUF_ANIMATION_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_ANIMATION_GET_CLASS" c:identifier="GDK_PIXBUF_ANIMATION_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_ANIMATION_ITER" c:identifier="GDK_PIXBUF_ANIMATION_ITER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_ANIMATION_ITER_CLASS" c:identifier="GDK_PIXBUF_ANIMATION_ITER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_ANIMATION_ITER_GET_CLASS" c:identifier="GDK_PIXBUF_ANIMATION_ITER_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_CHECK_VERSION" c:identifier="GDK_PIXBUF_CHECK_VERSION" version="2.36" introspectable="0">
|
|
<doc xml:space="preserve">Macro to test the version of GdkPixbuf being compiled against.</doc>
|
|
<parameters>
|
|
<parameter name="major">
|
|
<doc xml:space="preserve">major version (e.g. 2 for version 2.34.0)</doc>
|
|
</parameter>
|
|
<parameter name="minor">
|
|
<doc xml:space="preserve">minor version (e.g. 34 for version 2.34.0)</doc>
|
|
</parameter>
|
|
<parameter name="micro">
|
|
<doc xml:space="preserve">micro version (e.g. 0 for version 2.34.0)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_0_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_0_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_10_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_10_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_12_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_12_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_14_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_14_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_16_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_16_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_18_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_18_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_20_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_20_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_22_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_22_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_24_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_24_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_26_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_26_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_28_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_28_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_2_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_2_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_30_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_30_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_32_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_32_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_34_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_34_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_36_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_36_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_38_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_38_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_40_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_40_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_4_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_4_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_6_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_6_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_DEPRECATED_IN_2_8_FOR" c:identifier="GDK_PIXBUF_DEPRECATED_IN_2_8_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_LOADER" c:identifier="GDK_PIXBUF_LOADER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_LOADER_CLASS" c:identifier="GDK_PIXBUF_LOADER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_LOADER_GET_CLASS" c:identifier="GDK_PIXBUF_LOADER_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="PIXBUF_MAJOR" value="2" c:type="GDK_PIXBUF_MAJOR">
|
|
<doc xml:space="preserve">Major version of gdk-pixbuf library, that is the "0" in
|
|
"0.8.2" for example.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PIXBUF_MICRO" value="8" c:type="GDK_PIXBUF_MICRO">
|
|
<doc xml:space="preserve">Micro version of gdk-pixbuf library, that is the "2" in
|
|
"0.8.2" for example.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PIXBUF_MINOR" value="42" c:type="GDK_PIXBUF_MINOR">
|
|
<doc xml:space="preserve">Minor version of gdk-pixbuf library, that is the "8" in
|
|
"0.8.2" for example.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="PIXBUF_SIMPLE_ANIM" c:identifier="GDK_PIXBUF_SIMPLE_ANIM" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_SIMPLE_ANIM_CLASS" c:identifier="GDK_PIXBUF_SIMPLE_ANIM_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXBUF_SIMPLE_ANIM_GET_CLASS" c:identifier="GDK_PIXBUF_SIMPLE_ANIM_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="PIXBUF_VERSION" value="2.42.8" c:type="GDK_PIXBUF_VERSION">
|
|
<doc xml:space="preserve">Contains the full version of GdkPixbuf as a string.
|
|
|
|
This is the version being compiled against; contrast with
|
|
`gdk_pixbuf_version`.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<class name="Pixbuf" c:symbol-prefix="pixbuf" c:type="GdkPixbuf" parent="GObject.Object" glib:type-name="GdkPixbuf" glib:get-type="gdk_pixbuf_get_type">
|
|
<doc xml:space="preserve">A pixel buffer.
|
|
|
|
`GdkPixbuf` contains information about an image's pixel data,
|
|
its color space, bits per sample, width and height, and the
|
|
rowstride (the number of bytes between the start of one row
|
|
and the start of the next).
|
|
|
|
## Creating new `GdkPixbuf`
|
|
|
|
The most basic way to create a pixbuf is to wrap an existing pixel
|
|
buffer with a [class@GdkPixbuf.Pixbuf] instance. You can use the
|
|
[`ctor@GdkPixbuf.Pixbuf.new_from_data`] function to do this.
|
|
|
|
Every time you create a new `GdkPixbuf` instance for some data, you
|
|
will need to specify the destroy notification function that will be
|
|
called when the data buffer needs to be freed; this will happen when
|
|
a `GdkPixbuf` is finalized by the reference counting functions. If
|
|
you have a chunk of static data compiled into your application, you
|
|
can pass in `NULL` as the destroy notification function so that the
|
|
data will not be freed.
|
|
|
|
The [`ctor@GdkPixbuf.Pixbuf.new`] constructor function can be used
|
|
as a convenience to create a pixbuf with an empty buffer; this is
|
|
equivalent to allocating a data buffer using `malloc()` and then
|
|
wrapping it with `gdk_pixbuf_new_from_data()`. The `gdk_pixbuf_new()`
|
|
function will compute an optimal rowstride so that rendering can be
|
|
performed with an efficient algorithm.
|
|
|
|
As a special case, you can use the [`ctor@GdkPixbuf.Pixbuf.new_from_xpm_data`]
|
|
function to create a pixbuf from inline XPM image data.
|
|
|
|
You can also copy an existing pixbuf with the [method@Pixbuf.copy]
|
|
function. This is not the same as just acquiring a reference to
|
|
the old pixbuf instance: the copy function will actually duplicate
|
|
the pixel data in memory and create a new [class@Pixbuf] instance
|
|
for it.
|
|
|
|
## Reference counting
|
|
|
|
`GdkPixbuf` structures are reference counted. This means that an
|
|
application can share a single pixbuf among many parts of the
|
|
code. When a piece of the program needs to use a pixbuf, it should
|
|
acquire a reference to it by calling `g_object_ref()`; when it no
|
|
longer needs the pixbuf, it should release the reference it acquired
|
|
by calling `g_object_unref()`. The resources associated with a
|
|
`GdkPixbuf` will be freed when its reference count drops to zero.
|
|
Newly-created `GdkPixbuf` instances start with a reference count
|
|
of one.
|
|
|
|
## Image Data
|
|
|
|
Image data in a pixbuf is stored in memory in an uncompressed,
|
|
packed format. Rows in the image are stored top to bottom, and
|
|
in each row pixels are stored from left to right.
|
|
|
|
There may be padding at the end of a row.
|
|
|
|
The "rowstride" value of a pixbuf, as returned by [`method@GdkPixbuf.Pixbuf.get_rowstride`],
|
|
indicates the number of bytes between rows.
|
|
|
|
**NOTE**: If you are copying raw pixbuf data with `memcpy()` note that the
|
|
last row in the pixbuf may not be as wide as the full rowstride, but rather
|
|
just as wide as the pixel data needs to be; that is: it is unsafe to do
|
|
`memcpy (dest, pixels, rowstride * height)` to copy a whole pixbuf. Use
|
|
[method@GdkPixbuf.Pixbuf.copy] instead, or compute the width in bytes of the
|
|
last row as:
|
|
|
|
```c
|
|
last_row = width * ((n_channels * bits_per_sample + 7) / 8);
|
|
```
|
|
|
|
The same rule applies when iterating over each row of a `GdkPixbuf` pixels
|
|
array.
|
|
|
|
The following code illustrates a simple `put_pixel()`
|
|
function for RGB pixbufs with 8 bits per channel with an alpha
|
|
channel.
|
|
|
|
```c
|
|
static void
|
|
put_pixel (GdkPixbuf *pixbuf,
|
|
int x,
|
|
int y,
|
|
guchar red,
|
|
guchar green,
|
|
guchar blue,
|
|
guchar alpha)
|
|
{
|
|
int n_channels = gdk_pixbuf_get_n_channels (pixbuf);
|
|
|
|
// Ensure that the pixbuf is valid
|
|
g_assert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
|
|
g_assert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
|
|
g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
|
|
g_assert (n_channels == 4);
|
|
|
|
int width = gdk_pixbuf_get_width (pixbuf);
|
|
int height = gdk_pixbuf_get_height (pixbuf);
|
|
|
|
// Ensure that the coordinates are in a valid range
|
|
g_assert (x >= 0 && x < width);
|
|
g_assert (y >= 0 && y < height);
|
|
|
|
int rowstride = gdk_pixbuf_get_rowstride (pixbuf);
|
|
|
|
// The pixel buffer in the GdkPixbuf instance
|
|
guchar *pixels = gdk_pixbuf_get_pixels (pixbuf);
|
|
|
|
// The pixel we wish to modify
|
|
guchar *p = pixels + y * rowstride + x * n_channels;
|
|
p[0] = red;
|
|
p[1] = green;
|
|
p[2] = blue;
|
|
p[3] = alpha;
|
|
}
|
|
```
|
|
|
|
## Loading images
|
|
|
|
The `GdkPixBuf` class provides a simple mechanism for loading
|
|
an image from a file in synchronous and asynchronous fashion.
|
|
|
|
For GUI applications, it is recommended to use the asynchronous
|
|
stream API to avoid blocking the control flow of the application.
|
|
|
|
Additionally, `GdkPixbuf` provides the [class@GdkPixbuf.PixbufLoader`]
|
|
API for progressive image loading.
|
|
|
|
## Saving images
|
|
|
|
The `GdkPixbuf` class provides methods for saving image data in
|
|
a number of file formats. The formatted data can be written to a
|
|
file or to a memory buffer. `GdkPixbuf` can also call a user-defined
|
|
callback on the data, which allows to e.g. write the image
|
|
to a socket or store it in a database.</doc>
|
|
<implements name="Gio.Icon"/>
|
|
<implements name="Gio.LoadableIcon"/>
|
|
<constructor name="new" c:identifier="gdk_pixbuf_new">
|
|
<doc xml:space="preserve">Creates a new `GdkPixbuf` structure and allocates a buffer for it.
|
|
|
|
If the allocation of the buffer failed, this function will return `NULL`.
|
|
|
|
The buffer has an optimal rowstride. Note that the buffer is not cleared;
|
|
you will have to fill it completely yourself.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixel buffer</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="colorspace" transfer-ownership="none">
|
|
<doc xml:space="preserve">Color space for image</doc>
|
|
<type name="Colorspace" c:type="GdkColorspace"/>
|
|
</parameter>
|
|
<parameter name="has_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether the image should have transparency information</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="bits_per_sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">Number of bits per color sample</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_bytes" c:identifier="gdk_pixbuf_new_from_bytes" version="2.32">
|
|
<doc xml:space="preserve">Creates a new #GdkPixbuf out of in-memory readonly image data.
|
|
|
|
Currently only RGB images with 8 bits per sample are supported.
|
|
|
|
This is the `GBytes` variant of gdk_pixbuf_new_from_data(), useful
|
|
for language bindings.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">Image data in 8-bit/sample packed format inside a #GBytes</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</parameter>
|
|
<parameter name="colorspace" transfer-ownership="none">
|
|
<doc xml:space="preserve">Colorspace for the image data</doc>
|
|
<type name="Colorspace" c:type="GdkColorspace"/>
|
|
</parameter>
|
|
<parameter name="has_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether the data has an opacity channel</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="bits_per_sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">Number of bits per sample</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of the image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of the image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="rowstride" transfer-ownership="none">
|
|
<doc xml:space="preserve">Distance in bytes between row starts</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_data" c:identifier="gdk_pixbuf_new_from_data">
|
|
<doc xml:space="preserve">Creates a new #GdkPixbuf out of in-memory image data.
|
|
|
|
Currently only RGB images with 8 bits per sample are supported.
|
|
|
|
Since you are providing a pre-allocated pixel buffer, you must also
|
|
specify a way to free that data. This is done with a function of
|
|
type `GdkPixbufDestroyNotify`. When a pixbuf created with is
|
|
finalized, your destroy notification function will be called, and
|
|
it is its responsibility to free the pixel array.
|
|
|
|
See also: [ctor@GdkPixbuf.Pixbuf.new_from_bytes]</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">Image data in 8-bit/sample packed format</doc>
|
|
<array zero-terminated="0" c:type="const guchar*">
|
|
<type name="guint8" c:type="guchar"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="colorspace" transfer-ownership="none">
|
|
<doc xml:space="preserve">Colorspace for the image data</doc>
|
|
<type name="Colorspace" c:type="GdkColorspace"/>
|
|
</parameter>
|
|
<parameter name="has_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether the data has an opacity channel</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="bits_per_sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">Number of bits per sample</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of the image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of the image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="rowstride" transfer-ownership="none">
|
|
<doc xml:space="preserve">Distance in bytes between row starts</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="destroy_fn" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="8">
|
|
<doc xml:space="preserve">Function used to free the data when the pixbuf's reference count
|
|
drops to zero, or %NULL if the data should not be freed</doc>
|
|
<type name="PixbufDestroyNotify" c:type="GdkPixbufDestroyNotify"/>
|
|
</parameter>
|
|
<parameter name="destroy_fn_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Closure data to pass to the destroy notification function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_file" c:identifier="gdk_pixbuf_new_from_file" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from a file.
|
|
|
|
The file format is detected automatically.
|
|
|
|
If `NULL` is returned, then @error will be set. Possible errors are:
|
|
|
|
- the file could not be opened
|
|
- there is no loader for the file's format
|
|
- there is not enough memory to allocate the image buffer
|
|
- the image buffer contains invalid data
|
|
|
|
The error domains are `GDK_PIXBUF_ERROR` and `G_FILE_ERROR`.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name of file to load, in the GLib file
|
|
name encoding</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_file_at_scale" c:identifier="gdk_pixbuf_new_from_file_at_scale" version="2.6" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from a file.
|
|
|
|
The file format is detected automatically.
|
|
|
|
If `NULL` is returned, then @error will be set. Possible errors are:
|
|
|
|
- the file could not be opened
|
|
- there is no loader for the file's format
|
|
- there is not enough memory to allocate the image buffer
|
|
- the image buffer contains invalid data
|
|
|
|
The error domains are `GDK_PIXBUF_ERROR` and `G_FILE_ERROR`.
|
|
|
|
The image will be scaled to fit in the requested size, optionally preserving
|
|
the image's aspect ratio.
|
|
|
|
When preserving the aspect ratio, a `width` of -1 will cause the image
|
|
to be scaled to the exact given height, and a `height` of -1 will cause
|
|
the image to be scaled to the exact given width. When not preserving
|
|
aspect ratio, a `width` or `height` of -1 means to not scale the image
|
|
at all in that dimension. Negative values for `width` and `height` are
|
|
allowed since 2.8.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name of file to load, in the GLib file
|
|
name encoding</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width the image should have or -1 to not constrain the width</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height the image should have or -1 to not constrain the height</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="preserve_aspect_ratio" transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` to preserve the image's aspect ratio</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_file_at_size" c:identifier="gdk_pixbuf_new_from_file_at_size" version="2.4" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from a file.
|
|
|
|
The file format is detected automatically.
|
|
|
|
If `NULL` is returned, then @error will be set. Possible errors are:
|
|
|
|
- the file could not be opened
|
|
- there is no loader for the file's format
|
|
- there is not enough memory to allocate the image buffer
|
|
- the image buffer contains invalid data
|
|
|
|
The error domains are `GDK_PIXBUF_ERROR` and `G_FILE_ERROR`.
|
|
|
|
The image will be scaled to fit in the requested size, preserving
|
|
the image's aspect ratio. Note that the returned pixbuf may be smaller
|
|
than `width` x `height`, if the aspect ratio requires it. To load
|
|
and image at the requested size, regardless of aspect ratio, use
|
|
[ctor@GdkPixbuf.Pixbuf.new_from_file_at_scale].</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name of file to load, in the GLib file
|
|
name encoding</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width the image should have or -1 to not constrain the width</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height the image should have or -1 to not constrain the height</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_inline" c:identifier="gdk_pixbuf_new_from_inline" deprecated="1" deprecated-version="2.32" throws="1">
|
|
<doc xml:space="preserve">Creates a `GdkPixbuf` from a flat representation that is suitable for
|
|
storing as inline data in a program.
|
|
|
|
This is useful if you want to ship a program with images, but don't want
|
|
to depend on any external files.
|
|
|
|
GdkPixbuf ships with a program called `gdk-pixbuf-csource`, which allows
|
|
for conversion of `GdkPixbuf`s into such a inline representation.
|
|
|
|
In almost all cases, you should pass the `--raw` option to
|
|
`gdk-pixbuf-csource`. A sample invocation would be:
|
|
|
|
```
|
|
gdk-pixbuf-csource --raw --name=myimage_inline myimage.png
|
|
```
|
|
|
|
For the typical case where the inline pixbuf is read-only static data,
|
|
you don't need to copy the pixel data unless you intend to write to
|
|
it, so you can pass `FALSE` for `copy_pixels`. If you pass `--rle` to
|
|
`gdk-pixbuf-csource`, a copy will be made even if `copy_pixels` is `FALSE`,
|
|
so using this option is generally a bad idea.
|
|
|
|
If you create a pixbuf from const inline data compiled into your
|
|
program, it's probably safe to ignore errors and disable length checks,
|
|
since things will always succeed:
|
|
|
|
```c
|
|
pixbuf = gdk_pixbuf_new_from_inline (-1, myimage_inline, FALSE, NULL);
|
|
```
|
|
|
|
For non-const inline data, you could get out of memory. For untrusted
|
|
inline data located at runtime, you could have corrupt inline data in
|
|
addition.</doc>
|
|
<doc-deprecated xml:space="preserve">Use `GResource` instead.</doc-deprecated>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data_length" transfer-ownership="none">
|
|
<doc xml:space="preserve">Length in bytes of the `data` argument or -1 to
|
|
disable length checks</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">Byte data containing a
|
|
serialized `GdkPixdata` structure</doc>
|
|
<array length="0" zero-terminated="0" c:type="const guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="copy_pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to copy the pixel data, or use direct pointers
|
|
`data` for the resulting pixbuf</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_resource" c:identifier="gdk_pixbuf_new_from_resource" version="2.26" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from an resource.
|
|
|
|
The file format is detected automatically. If `NULL` is returned, then
|
|
@error will be set.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="resource_path" transfer-ownership="none">
|
|
<doc xml:space="preserve">the path of the resource file</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_resource_at_scale" c:identifier="gdk_pixbuf_new_from_resource_at_scale" version="2.26" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from an resource.
|
|
|
|
The file format is detected automatically. If `NULL` is returned, then
|
|
@error will be set.
|
|
|
|
The image will be scaled to fit in the requested size, optionally
|
|
preserving the image's aspect ratio. When preserving the aspect ratio,
|
|
a @width of -1 will cause the image to be scaled to the exact given
|
|
height, and a @height of -1 will cause the image to be scaled to the
|
|
exact given width. When not preserving aspect ratio, a @width or
|
|
@height of -1 means to not scale the image at all in that dimension.
|
|
|
|
The stream is not closed.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="resource_path" transfer-ownership="none">
|
|
<doc xml:space="preserve">the path of the resource file</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width the image should have or -1 to not constrain the width</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height the image should have or -1 to not constrain the height</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="preserve_aspect_ratio" transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` to preserve the image's aspect ratio</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_stream" c:identifier="gdk_pixbuf_new_from_stream" version="2.14" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from an input stream.
|
|
|
|
The file format is detected automatically.
|
|
|
|
If `NULL` is returned, then `error` will be set.
|
|
|
|
The `cancellable` can be used to abort the operation from another thread.
|
|
If the operation was cancelled, the error `G_IO_ERROR_CANCELLED` will be
|
|
returned. Other possible errors are in the `GDK_PIXBUF_ERROR` and
|
|
`G_IO_ERROR` domains.
|
|
|
|
The stream is not closed.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GInputStream` to load the pixbuf from</doc>
|
|
<type name="Gio.InputStream" c:type="GInputStream*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_stream_at_scale" c:identifier="gdk_pixbuf_new_from_stream_at_scale" version="2.14" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf by loading an image from an input stream.
|
|
|
|
The file format is detected automatically. If `NULL` is returned, then
|
|
@error will be set. The @cancellable can be used to abort the operation
|
|
from another thread. If the operation was cancelled, the error
|
|
`G_IO_ERROR_CANCELLED` will be returned. Other possible errors are in
|
|
the `GDK_PIXBUF_ERROR` and `G_IO_ERROR` domains.
|
|
|
|
The image will be scaled to fit in the requested size, optionally
|
|
preserving the image's aspect ratio.
|
|
|
|
When preserving the aspect ratio, a `width` of -1 will cause the image to be
|
|
scaled to the exact given height, and a `height` of -1 will cause the image
|
|
to be scaled to the exact given width. If both `width` and `height` are
|
|
given, this function will behave as if the smaller of the two values
|
|
is passed as -1.
|
|
|
|
When not preserving aspect ratio, a `width` or `height` of -1 means to not
|
|
scale the image at all in that dimension.
|
|
|
|
The stream is not closed.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GInputStream` to load the pixbuf from</doc>
|
|
<type name="Gio.InputStream" c:type="GInputStream*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width the image should have or -1 to not constrain the width</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height the image should have or -1 to not constrain the height</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="preserve_aspect_ratio" transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` to preserve the image's aspect ratio</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_stream_finish" c:identifier="gdk_pixbuf_new_from_stream_finish" version="2.24" throws="1">
|
|
<doc xml:space="preserve">Finishes an asynchronous pixbuf creation operation started with
|
|
gdk_pixbuf_new_from_stream_async().</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="async_result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GAsyncResult`</doc>
|
|
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_xpm_data" c:identifier="gdk_pixbuf_new_from_xpm_data">
|
|
<doc xml:space="preserve">Creates a new pixbuf by parsing XPM data in memory.
|
|
|
|
This data is commonly the result of including an XPM file into a
|
|
program's C source.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">Pointer to inline XPM data.</doc>
|
|
<array c:type="const char**">
|
|
<type name="utf8" c:type="char*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<function name="calculate_rowstride" c:identifier="gdk_pixbuf_calculate_rowstride" version="2.36.8">
|
|
<doc xml:space="preserve">Calculates the rowstride that an image created with those values would
|
|
have.
|
|
|
|
This function is useful for front-ends and backends that want to check
|
|
image values without needing to create a `GdkPixbuf`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the rowstride for the given values, or -1 in case of error.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="colorspace" transfer-ownership="none">
|
|
<doc xml:space="preserve">Color space for image</doc>
|
|
<type name="Colorspace" c:type="GdkColorspace"/>
|
|
</parameter>
|
|
<parameter name="has_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether the image should have transparency information</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="bits_per_sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">Number of bits per color sample</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of image in pixels, must be > 0</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_file_info" c:identifier="gdk_pixbuf_get_file_info" version="2.4">
|
|
<doc xml:space="preserve">Parses an image file far enough to determine its format and size.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">A `GdkPixbufFormat` describing
|
|
the image format of the file</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of the file to identify.</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Return location for the width of the image</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Return location for the height of the image</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_file_info_async" c:identifier="gdk_pixbuf_get_file_info_async" version="2.32">
|
|
<doc xml:space="preserve">Asynchronously parses an image file far enough to determine its
|
|
format and size.
|
|
|
|
For more details see gdk_pixbuf_get_file_info(), which is the synchronous
|
|
version of this function.
|
|
|
|
When the operation is finished, @callback will be called in the
|
|
main thread. You can then call gdk_pixbuf_get_file_info_finish() to
|
|
get the result of the operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of the file to identify</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="3">
|
|
<doc xml:space="preserve">a `GAsyncReadyCallback` to call when the file info is available</doc>
|
|
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_file_info_finish" c:identifier="gdk_pixbuf_get_file_info_finish" version="2.32" throws="1">
|
|
<doc xml:space="preserve">Finishes an asynchronous pixbuf parsing operation started with
|
|
gdk_pixbuf_get_file_info_async().</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">A `GdkPixbufFormat` describing the
|
|
image format of the file</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="async_result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GAsyncResult`</doc>
|
|
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
|
|
</parameter>
|
|
<parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Return location for the width of the image, or `NULL`</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Return location for the height of the image, or `NULL`</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_formats" c:identifier="gdk_pixbuf_get_formats" version="2.2">
|
|
<doc xml:space="preserve">Obtains the available information about the image formats supported
|
|
by GdkPixbuf.</doc>
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">A list of
|
|
support image formats.</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="PixbufFormat"/>
|
|
</type>
|
|
</return-value>
|
|
</function>
|
|
<function name="init_modules" c:identifier="gdk_pixbuf_init_modules" version="2.40" throws="1">
|
|
<doc xml:space="preserve">Initalizes the gdk-pixbuf loader modules referenced by the `loaders.cache`
|
|
file present inside that directory.
|
|
|
|
This is to be used by applications that want to ship certain loaders
|
|
in a different location from the system ones.
|
|
|
|
This is needed when the OS or runtime ships a minimal number of loaders
|
|
so as to reduce the potential attack surface of carefully crafted image
|
|
files, especially for uncommon file types. Applications that require
|
|
broader image file types coverage, such as image viewers, would be
|
|
expected to ship the gdk-pixbuf modules in a separate location, bundled
|
|
with the application in a separate directory from the OS or runtime-
|
|
provided modules.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="path" transfer-ownership="none">
|
|
<doc xml:space="preserve">Path to directory where the `loaders.cache` is installed</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="new_from_stream_async" c:identifier="gdk_pixbuf_new_from_stream_async" version="2.24">
|
|
<doc xml:space="preserve">Creates a new pixbuf by asynchronously loading an image from an input stream.
|
|
|
|
For more details see gdk_pixbuf_new_from_stream(), which is the synchronous
|
|
version of this function.
|
|
|
|
When the operation is finished, @callback will be called in the main thread.
|
|
You can then call gdk_pixbuf_new_from_stream_finish() to get the result of
|
|
the operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GInputStream` from which to load the pixbuf</doc>
|
|
<type name="Gio.InputStream" c:type="GInputStream*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="3">
|
|
<doc xml:space="preserve">a `GAsyncReadyCallback` to call when the pixbuf is loaded</doc>
|
|
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="new_from_stream_at_scale_async" c:identifier="gdk_pixbuf_new_from_stream_at_scale_async" version="2.24">
|
|
<doc xml:space="preserve">Creates a new pixbuf by asynchronously loading an image from an input stream.
|
|
|
|
For more details see gdk_pixbuf_new_from_stream_at_scale(), which is the synchronous
|
|
version of this function.
|
|
|
|
When the operation is finished, @callback will be called in the main thread.
|
|
You can then call gdk_pixbuf_new_from_stream_finish() to get the result of the operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GInputStream` from which to load the pixbuf</doc>
|
|
<type name="Gio.InputStream" c:type="GInputStream*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width the image should have or -1 to not constrain the width</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height the image should have or -1 to not constrain the height</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="preserve_aspect_ratio" transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` to preserve the image's aspect ratio</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="6">
|
|
<doc xml:space="preserve">a `GAsyncReadyCallback` to call when the pixbuf is loaded</doc>
|
|
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="save_to_stream_finish" c:identifier="gdk_pixbuf_save_to_stream_finish" version="2.24" throws="1">
|
|
<doc xml:space="preserve">Finishes an asynchronous pixbuf save operation started with
|
|
gdk_pixbuf_save_to_stream_async().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the pixbuf was saved successfully, `FALSE` if an error was set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="async_result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GAsyncResult`</doc>
|
|
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="add_alpha" c:identifier="gdk_pixbuf_add_alpha">
|
|
<doc xml:space="preserve">Takes an existing pixbuf and adds an alpha channel to it.
|
|
|
|
If the existing pixbuf already had an alpha channel, the channel
|
|
values are copied from the original; otherwise, the alpha channel
|
|
is initialized to 255 (full opacity).
|
|
|
|
If `substitute_color` is `TRUE`, then the color specified by the
|
|
(`r`, `g`, `b`) arguments will be assigned zero opacity. That is,
|
|
if you pass `(255, 255, 255)` for the substitute color, all white
|
|
pixels will become fully transparent.
|
|
|
|
If `substitute_color` is `FALSE`, then the (`r`, `g`, `b`) arguments
|
|
will be ignored.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GdkPixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="substitute_color" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to set a color to zero opacity.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="r" transfer-ownership="none">
|
|
<doc xml:space="preserve">Red value to substitute.</doc>
|
|
<type name="guint8" c:type="guchar"/>
|
|
</parameter>
|
|
<parameter name="g" transfer-ownership="none">
|
|
<doc xml:space="preserve">Green value to substitute.</doc>
|
|
<type name="guint8" c:type="guchar"/>
|
|
</parameter>
|
|
<parameter name="b" transfer-ownership="none">
|
|
<doc xml:space="preserve">Blue value to substitute.</doc>
|
|
<type name="guint8" c:type="guchar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="apply_embedded_orientation" c:identifier="gdk_pixbuf_apply_embedded_orientation" version="2.12">
|
|
<doc xml:space="preserve">Takes an existing pixbuf and checks for the presence of an
|
|
associated "orientation" option.
|
|
|
|
The orientation option may be provided by the JPEG loader (which
|
|
reads the exif orientation tag) or the TIFF loader (which reads
|
|
the TIFF orientation tag, and compensates it for the partial
|
|
transforms performed by libtiff).
|
|
|
|
If an orientation option/tag is present, the appropriate transform
|
|
will be performed so that the pixbuf is oriented correctly.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pixbuf with an orientation option</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="composite" c:identifier="gdk_pixbuf_composite">
|
|
<doc xml:space="preserve">Creates a transformation of the source image @src by scaling by
|
|
@scale_x and @scale_y then translating by @offset_x and @offset_y.
|
|
|
|
This gives an image in the coordinates of the destination pixbuf.
|
|
The rectangle (@dest_x, @dest_y, @dest_width, @dest_height)
|
|
is then alpha blended onto the corresponding rectangle of the
|
|
original destination image.
|
|
|
|
When the destination rectangle contains parts not in the source
|
|
image, the data at the edges of the source image is replicated
|
|
to infinity.
|
|
|
|
</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GdkPixbuf into which to render the results</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="dest_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the left coordinate for region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the top coordinate for region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="offset_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in the X direction (currently rounded to an integer)</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="offset_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in the Y direction (currently rounded to an integer)</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor in the X direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor in the Y direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="interp_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the interpolation type for the transformation.</doc>
|
|
<type name="InterpType" c:type="GdkInterpType"/>
|
|
</parameter>
|
|
<parameter name="overall_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">overall alpha for source image (0..255)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="composite_color" c:identifier="gdk_pixbuf_composite_color">
|
|
<doc xml:space="preserve">Creates a transformation of the source image @src by scaling by
|
|
@scale_x and @scale_y then translating by @offset_x and @offset_y,
|
|
then alpha blends the rectangle (@dest_x ,@dest_y, @dest_width,
|
|
@dest_height) of the resulting image with a checkboard of the
|
|
colors @color1 and @color2 and renders it onto the destination
|
|
image.
|
|
|
|
If the source image has no alpha channel, and @overall_alpha is 255, a fast
|
|
path is used which omits the alpha blending and just performs the scaling.
|
|
|
|
See gdk_pixbuf_composite_color_simple() for a simpler variant of this
|
|
function suitable for many tasks.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GdkPixbuf into which to render the results</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="dest_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the left coordinate for region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the top coordinate for region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="offset_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in the X direction (currently rounded to an integer)</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="offset_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in the Y direction (currently rounded to an integer)</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor in the X direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor in the Y direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="interp_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the interpolation type for the transformation.</doc>
|
|
<type name="InterpType" c:type="GdkInterpType"/>
|
|
</parameter>
|
|
<parameter name="overall_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">overall alpha for source image (0..255)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="check_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the X offset for the checkboard (origin of checkboard is at -@check_x, -@check_y)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="check_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the Y offset for the checkboard</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="check_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of checks in the checkboard (must be a power of two)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="color1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the color of check at upper left</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
<parameter name="color2" transfer-ownership="none">
|
|
<doc xml:space="preserve">the color of the other check</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="composite_color_simple" c:identifier="gdk_pixbuf_composite_color_simple">
|
|
<doc xml:space="preserve">Creates a new pixbuf by scaling `src` to `dest_width` x `dest_height`
|
|
and alpha blending the result with a checkboard of colors `color1`
|
|
and `color2`.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of destination image</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of destination image</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="interp_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the interpolation type for the transformation.</doc>
|
|
<type name="InterpType" c:type="GdkInterpType"/>
|
|
</parameter>
|
|
<parameter name="overall_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">overall alpha for source image (0..255)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="check_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of checks in the checkboard (must be a power of two)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="color1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the color of check at upper left</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
<parameter name="color2" transfer-ownership="none">
|
|
<doc xml:space="preserve">the color of the other check</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gdk_pixbuf_copy">
|
|
<doc xml:space="preserve">Creates a new `GdkPixbuf` with a copy of the information in the specified
|
|
`pixbuf`.
|
|
|
|
Note that this does not copy the options set on the original `GdkPixbuf`,
|
|
use gdk_pixbuf_copy_options() for this.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_area" c:identifier="gdk_pixbuf_copy_area">
|
|
<doc xml:space="preserve">Copies a rectangular area from `src_pixbuf` to `dest_pixbuf`.
|
|
|
|
Conversion of pixbuf formats is done automatically.
|
|
|
|
If the source rectangle overlaps the destination rectangle on the
|
|
same pixbuf, it will be overwritten during the copy operation.
|
|
Therefore, you can not use this function to scroll a pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src_pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">Source pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">Source X coordinate within @src_pixbuf.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="src_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Source Y coordinate within @src_pixbuf.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of the area to copy.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of the area to copy.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">Destination pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="dest_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate within @dest_pixbuf.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate within @dest_pixbuf.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_options" c:identifier="gdk_pixbuf_copy_options" version="2.36">
|
|
<doc xml:space="preserve">Copies the key/value pair options attached to a `GdkPixbuf` to another
|
|
`GdkPixbuf`.
|
|
|
|
This is useful to keep original metadata after having manipulated
|
|
a file. However be careful to remove metadata which you've already
|
|
applied, such as the "orientation" option after rotating the image.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` on success.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src_pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest_pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the destination pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fill" c:identifier="gdk_pixbuf_fill">
|
|
<doc xml:space="preserve">Clears a pixbuf to the given RGBA value, converting the RGBA value into
|
|
the pixbuf's pixel format.
|
|
|
|
The alpha component will be ignored if the pixbuf doesn't have an alpha
|
|
channel.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="pixel" transfer-ownership="none">
|
|
<doc xml:space="preserve">RGBA pixel to used to clear (`0xffffffff` is opaque white,
|
|
`0x00000000` transparent black)</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="flip" c:identifier="gdk_pixbuf_flip" version="2.6">
|
|
<doc xml:space="preserve">Flips a pixbuf horizontally or vertically and returns the
|
|
result in a new pixbuf.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="horizontal" transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` to flip horizontally, `FALSE` to flip vertically</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_bits_per_sample" c:identifier="gdk_pixbuf_get_bits_per_sample" glib:get-property="bits-per-sample">
|
|
<doc xml:space="preserve">Queries the number of bits per color sample in a pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Number of bits per color sample.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_byte_length" c:identifier="gdk_pixbuf_get_byte_length" version="2.26">
|
|
<doc xml:space="preserve">Returns the length of the pixel data, in bytes.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The length of the pixel data.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_colorspace" c:identifier="gdk_pixbuf_get_colorspace" glib:get-property="colorspace">
|
|
<doc xml:space="preserve">Queries the color space of a pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Color space.</doc>
|
|
<type name="Colorspace" c:type="GdkColorspace"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_has_alpha" c:identifier="gdk_pixbuf_get_has_alpha" glib:get-property="has-alpha">
|
|
<doc xml:space="preserve">Queries whether a pixbuf has an alpha channel (opacity information).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if it has an alpha channel, `FALSE` otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_height" c:identifier="gdk_pixbuf_get_height" glib:get-property="height">
|
|
<doc xml:space="preserve">Queries the height of a pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Height in pixels.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_channels" c:identifier="gdk_pixbuf_get_n_channels" glib:get-property="n-channels">
|
|
<doc xml:space="preserve">Queries the number of channels of a pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Number of channels.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_option" c:identifier="gdk_pixbuf_get_option">
|
|
<doc xml:space="preserve">Looks up @key in the list of options that may have been attached to the
|
|
@pixbuf when it was loaded, or that may have been attached by another
|
|
function using gdk_pixbuf_set_option().
|
|
|
|
For instance, the ANI loader provides "Title" and "Artist" options.
|
|
The ICO, XBM, and XPM loaders provide "x_hot" and "y_hot" hot-spot
|
|
options for cursor definitions. The PNG loader provides the tEXt ancillary
|
|
chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders
|
|
return an "orientation" option string that corresponds to the embedded
|
|
TIFF/Exif orientation tag (if present). Since 2.32, the TIFF loader sets
|
|
the "multipage" option string to "yes" when a multi-page TIFF is loaded.
|
|
Since 2.32 the JPEG and PNG loaders set "x-dpi" and "y-dpi" if the file
|
|
contains image density information in dots per inch.
|
|
Since 2.36.6, the JPEG loader sets the "comment" option with the comment
|
|
EXIF tag.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the value associated with `key`</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">a nul-terminated string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_options" c:identifier="gdk_pixbuf_get_options" version="2.32">
|
|
<doc xml:space="preserve">Returns a `GHashTable` with a list of all the options that may have been
|
|
attached to the `pixbuf` when it was loaded, or that may have been
|
|
attached by another function using [method@GdkPixbuf.Pixbuf.set_option].</doc>
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">a #GHashTable
|
|
of key/values pairs</doc>
|
|
<type name="GLib.HashTable" c:type="GHashTable*">
|
|
<type name="utf8"/>
|
|
<type name="utf8"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels" c:identifier="gdk_pixbuf_get_pixels" shadowed-by="get_pixels_with_length" glib:get-property="pixels">
|
|
<doc xml:space="preserve">Queries a pointer to the pixel data of a pixbuf.
|
|
|
|
This function will cause an implicit copy of the pixbuf data if the
|
|
pixbuf was created from read-only data.
|
|
|
|
Please see the section on [image data](class.Pixbuf.html#image-data) for information
|
|
about how the pixel data is stored in memory.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the pixbuf's pixel data.</doc>
|
|
<array zero-terminated="0" c:type="guchar*">
|
|
<type name="guint8" c:type="guchar"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_with_length" c:identifier="gdk_pixbuf_get_pixels_with_length" shadows="get_pixels" version="2.26">
|
|
<doc xml:space="preserve">Queries a pointer to the pixel data of a pixbuf.
|
|
|
|
This function will cause an implicit copy of the pixbuf data if the
|
|
pixbuf was created from read-only data.
|
|
|
|
Please see the section on [image data](class.Pixbuf.html#image-data) for information
|
|
about how the pixel data is stored in memory.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the pixbuf's
|
|
pixel data.</doc>
|
|
<array length="0" zero-terminated="0" c:type="guchar*">
|
|
<type name="guint8" c:type="guchar"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">The length of the binary data.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_rowstride" c:identifier="gdk_pixbuf_get_rowstride" glib:get-property="rowstride">
|
|
<doc xml:space="preserve">Queries the rowstride of a pixbuf, which is the number of bytes between
|
|
the start of a row and the start of the next row.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Distance between row starts.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_width" c:identifier="gdk_pixbuf_get_width" glib:get-property="width">
|
|
<doc xml:space="preserve">Queries the width of a pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Width in pixels.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="new_subpixbuf" c:identifier="gdk_pixbuf_new_subpixbuf">
|
|
<doc xml:space="preserve">Creates a new pixbuf which represents a sub-region of `src_pixbuf`.
|
|
|
|
The new pixbuf shares its pixels with the original pixbuf, so
|
|
writing to one affects both. The new pixbuf holds a reference to
|
|
`src_pixbuf`, so `src_pixbuf` will not be finalized until the new
|
|
pixbuf is finalized.
|
|
|
|
Note that if `src_pixbuf` is read-only, this function will force it
|
|
to be mutable.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src_pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coord in @src_pixbuf</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="src_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coord in @src_pixbuf</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of region in @src_pixbuf</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of region in @src_pixbuf</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="read_pixel_bytes" c:identifier="gdk_pixbuf_read_pixel_bytes" version="2.32">
|
|
<doc xml:space="preserve">Provides a #GBytes buffer containing the raw pixel data; the data
|
|
must not be modified.
|
|
|
|
This function allows skipping the implicit copy that must be made
|
|
if gdk_pixbuf_get_pixels() is called on a read-only pixbuf.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A new reference to a read-only copy of
|
|
the pixel data. Note that for mutable pixbufs, this function will
|
|
incur a one-time copy of the pixel data for conversion into the
|
|
returned #GBytes.</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="read_pixels" c:identifier="gdk_pixbuf_read_pixels" version="2.32">
|
|
<doc xml:space="preserve">Provides a read-only pointer to the raw pixel data.
|
|
|
|
This function allows skipping the implicit copy that must be made
|
|
if gdk_pixbuf_get_pixels() is called on a read-only pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a read-only pointer to the raw pixel data</doc>
|
|
<type name="guint8" c:type="const guint8*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gdk_pixbuf_ref" introspectable="0" deprecated="1" deprecated-version="2.0">
|
|
<doc xml:space="preserve">Adds a reference to a pixbuf.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_object_ref().</doc-deprecated>
|
|
<return-value>
|
|
<doc xml:space="preserve">The same as the @pixbuf argument.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_option" c:identifier="gdk_pixbuf_remove_option" version="2.36">
|
|
<doc xml:space="preserve">Removes the key/value pair option attached to a `GdkPixbuf`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if an option was removed, `FALSE` if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">a nul-terminated string representing the key to remove.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="rotate_simple" c:identifier="gdk_pixbuf_rotate_simple" version="2.6">
|
|
<doc xml:space="preserve">Rotates a pixbuf by a multiple of 90 degrees, and returns the
|
|
result in a new pixbuf.
|
|
|
|
If `angle` is 0, this function will return a copy of `src`.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">the angle to rotate by</doc>
|
|
<type name="PixbufRotation" c:type="GdkPixbufRotation"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="saturate_and_pixelate" c:identifier="gdk_pixbuf_saturate_and_pixelate">
|
|
<doc xml:space="preserve">Modifies saturation and optionally pixelates `src`, placing the result in
|
|
`dest`.
|
|
|
|
The `src` and `dest` pixbufs must have the same image format, size, and
|
|
rowstride.
|
|
|
|
The `src` and `dest` arguments may be the same pixbuf with no ill effects.
|
|
|
|
If `saturation` is 1.0 then saturation is not changed. If it's less than 1.0,
|
|
saturation is reduced (the image turns toward grayscale); if greater than
|
|
1.0, saturation is increased (the image gets more vivid colors).
|
|
|
|
If `pixelate` is `TRUE`, then pixels are faded in a checkerboard pattern to
|
|
create a pixelated image.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">source image</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">place to write modified version of @src</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="saturation" transfer-ownership="none">
|
|
<doc xml:space="preserve">saturation factor</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
<parameter name="pixelate" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to pixelate</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save" c:identifier="gdk_pixbuf_save" introspectable="0">
|
|
<doc xml:space="preserve">Saves pixbuf to a file in format @type. By default, "jpeg", "png", "ico"
|
|
and "bmp" are possible file formats to save in, but more formats may be
|
|
installed. The list of all writable formats can be determined in the
|
|
following way:
|
|
|
|
```c
|
|
void add_if_writable (GdkPixbufFormat *data, GSList **list)
|
|
{
|
|
if (gdk_pixbuf_format_is_writable (data))
|
|
*list = g_slist_prepend (*list, data);
|
|
}
|
|
|
|
GSList *formats = gdk_pixbuf_get_formats ();
|
|
GSList *writable_formats = NULL;
|
|
g_slist_foreach (formats, add_if_writable, &writable_formats);
|
|
g_slist_free (formats);
|
|
```
|
|
|
|
If `error` is set, `FALSE` will be returned. Possible errors include
|
|
those in the `GDK_PIXBUF_ERROR` domain and those in the `G_FILE_ERROR`
|
|
domain.
|
|
|
|
The variable argument list should be `NULL`-terminated; if not empty,
|
|
it should contain pairs of strings that modify the save
|
|
parameters. For example:
|
|
|
|
```c
|
|
gdk_pixbuf_save (pixbuf, handle, "jpeg", &error, "quality", "100", NULL);
|
|
```
|
|
|
|
Currently only few parameters exist.
|
|
|
|
JPEG images can be saved with a "quality" parameter; its value should be
|
|
in the range `[0, 100]`. JPEG and PNG density can be set by setting the
|
|
"x-dpi" and "y-dpi" parameters to the appropriate values in dots per inch.
|
|
|
|
Text chunks can be attached to PNG images by specifying parameters of
|
|
the form "tEXt::key", where key is an ASCII string of length 1-79.
|
|
The values are UTF-8 encoded strings. The PNG compression level can
|
|
be specified using the "compression" parameter; it's value is in an
|
|
integer in the range of `[0, 9]`.
|
|
|
|
ICC color profiles can also be embedded into PNG, JPEG and TIFF images.
|
|
The "icc-profile" value should be the complete ICC profile encoded
|
|
into base64.
|
|
|
|
```c
|
|
char *contents;
|
|
gsize length;
|
|
|
|
// icm_path is set elsewhere
|
|
g_file_get_contents (icm_path, &contents, &length, NULL);
|
|
|
|
char *contents_encode = g_base64_encode ((const guchar *) contents, length);
|
|
|
|
gdk_pixbuf_save (pixbuf, handle, "png", &error, "icc-profile", contents_encode, NULL);
|
|
```
|
|
|
|
TIFF images recognize:
|
|
|
|
1. a "bits-per-sample" option (integer) which can be either 1 for saving
|
|
bi-level CCITTFAX4 images, or 8 for saving 8-bits per sample
|
|
2. a "compression" option (integer) which can be 1 for no compression,
|
|
2 for Huffman, 5 for LZW, 7 for JPEG and 8 for DEFLATE (see the libtiff
|
|
documentation and tiff.h for all supported codec values)
|
|
3. an "icc-profile" option (zero-terminated string) containing a base64
|
|
encoded ICC color profile.
|
|
|
|
ICO images can be saved in depth 16, 24, or 32, by using the "depth"
|
|
parameter. When the ICO saver is given "x_hot" and "y_hot" parameters,
|
|
it produces a CUR instead of an ICO.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` on success, and `FALSE` otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file to save.</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for error</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">list of key-value save options, followed by `NULL`</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_buffer" c:identifier="gdk_pixbuf_save_to_buffer" version="2.4" introspectable="0">
|
|
<doc xml:space="preserve">Saves pixbuf to a new buffer in format `type`, which is currently "jpeg",
|
|
"png", "tiff", "ico" or "bmp".
|
|
|
|
This is a convenience function that uses `gdk_pixbuf_save_to_callback()`
|
|
to do the real work.
|
|
|
|
Note that the buffer is not `NUL`-terminated and may contain embedded `NUL`
|
|
characters.
|
|
|
|
If @error is set, `FALSE` will be returned and @buffer will be set to
|
|
`NULL`. Possible errors include those in the `GDK_PIXBUF_ERROR`
|
|
domain.
|
|
|
|
See `gdk_pixbuf_save()` for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether an error was set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to receive a pointer
|
|
to the new buffer.</doc>
|
|
<array length="1" zero-terminated="0" c:type="gchar**">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="buffer_size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to receive the size of the new buffer.</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for error, or `NULL`</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">list of key-value save options</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_bufferv" c:identifier="gdk_pixbuf_save_to_bufferv" version="2.4" throws="1">
|
|
<doc xml:space="preserve">Vector version of `gdk_pixbuf_save_to_buffer()`.
|
|
|
|
Saves pixbuf to a new buffer in format @type, which is currently "jpeg",
|
|
"tiff", "png", "ico" or "bmp".
|
|
|
|
See [method@GdkPixbuf.Pixbuf.save_to_buffer] for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether an error was set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
location to receive a pointer to the new buffer.</doc>
|
|
<array length="1" zero-terminated="0" c:type="gchar**">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="buffer_size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to receive the size of the new buffer.</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of options to set</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">values for named options</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_callback" c:identifier="gdk_pixbuf_save_to_callback" version="2.4" introspectable="0">
|
|
<doc xml:space="preserve">Saves pixbuf in format `type` by feeding the produced data to a
|
|
callback.
|
|
|
|
This function can be used when you want to store the image to something
|
|
other than a file, such as an in-memory buffer or a socket.
|
|
|
|
If @error is set, `FALSE` will be returned. Possible errors
|
|
include those in the `GDK_PIXBUF_ERROR` domain and whatever the save
|
|
function generates.
|
|
|
|
See [method@GdkPixbuf.Pixbuf.save] for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether an error was set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="save_func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function that is called to save each block of data that
|
|
the save routine generates.</doc>
|
|
<type name="PixbufSaveFunc" c:type="GdkPixbufSaveFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data to pass to the save function.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for error, or `NULL`</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">list of key-value save options</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_callbackv" c:identifier="gdk_pixbuf_save_to_callbackv" version="2.4" throws="1">
|
|
<doc xml:space="preserve">Vector version of `gdk_pixbuf_save_to_callback()`.
|
|
|
|
Saves pixbuf to a callback in format @type, which is currently "jpeg",
|
|
"png", "tiff", "ico" or "bmp".
|
|
|
|
If @error is set, `FALSE` will be returned.
|
|
|
|
See [method@GdkPixbuf.Pixbuf.save_to_callback] for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether an error was set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="save_func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function that is called to save each block of data that
|
|
the save routine generates.</doc>
|
|
<type name="PixbufSaveFunc" c:type="GdkPixbufSaveFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data to pass to the save function.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of options to set</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">values for named options</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_stream" c:identifier="gdk_pixbuf_save_to_stream" version="2.14" introspectable="0">
|
|
<doc xml:space="preserve">Saves `pixbuf` to an output stream.
|
|
|
|
Supported file formats are currently "jpeg", "tiff", "png", "ico" or
|
|
"bmp". See `gdk_pixbuf_save_to_buffer()` for more details.
|
|
|
|
The `cancellable` can be used to abort the operation from another
|
|
thread. If the operation was cancelled, the error `G_IO_ERROR_CANCELLED`
|
|
will be returned. Other possible errors are in the `GDK_PIXBUF_ERROR`
|
|
and `G_IO_ERROR` domains.
|
|
|
|
The stream is not closed at the end of this call.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the pixbuf was saved successfully, `FALSE` if an
|
|
error was set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GOutputStream` to save the pixbuf to</doc>
|
|
<type name="Gio.OutputStream" c:type="GOutputStream*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for error, or `NULL`</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">list of key-value save options</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_stream_async" c:identifier="gdk_pixbuf_save_to_stream_async" version="2.24" introspectable="0">
|
|
<doc xml:space="preserve">Saves `pixbuf` to an output stream asynchronously.
|
|
|
|
For more details see gdk_pixbuf_save_to_stream(), which is the synchronous
|
|
version of this function.
|
|
|
|
When the operation is finished, `callback` will be called in the main thread.
|
|
|
|
You can then call gdk_pixbuf_save_to_stream_finish() to get the result of
|
|
the operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GOutputStream` to which to save the pixbuf</doc>
|
|
<type name="Gio.OutputStream" c:type="GOutputStream*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="4">
|
|
<doc xml:space="preserve">a `GAsyncReadyCallback` to call when the pixbuf is saved</doc>
|
|
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">list of key-value save options</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_streamv" c:identifier="gdk_pixbuf_save_to_streamv" version="2.36" throws="1">
|
|
<doc xml:space="preserve">Saves `pixbuf` to an output stream.
|
|
|
|
Supported file formats are currently "jpeg", "tiff", "png", "ico" or
|
|
"bmp".
|
|
|
|
See [method@GdkPixbuf.Pixbuf.save_to_stream] for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the pixbuf was saved successfully, `FALSE` if an
|
|
error was set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GOutputStream` to save the pixbuf to</doc>
|
|
<type name="Gio.OutputStream" c:type="GOutputStream*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of options to set</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">values for named options</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_to_streamv_async" c:identifier="gdk_pixbuf_save_to_streamv_async" version="2.36">
|
|
<doc xml:space="preserve">Saves `pixbuf` to an output stream asynchronously.
|
|
|
|
For more details see gdk_pixbuf_save_to_streamv(), which is the synchronous
|
|
version of this function.
|
|
|
|
When the operation is finished, `callback` will be called in the main thread.
|
|
|
|
You can then call gdk_pixbuf_save_to_stream_finish() to get the result of
|
|
the operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GOutputStream` to which to save the pixbuf</doc>
|
|
<type name="Gio.OutputStream" c:type="GOutputStream*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of options to set</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">values for named options</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object, `NULL` to ignore</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="6">
|
|
<doc xml:space="preserve">a `GAsyncReadyCallback` to call when the pixbuf is saved</doc>
|
|
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="savev" c:identifier="gdk_pixbuf_savev" throws="1">
|
|
<doc xml:space="preserve">Vector version of `gdk_pixbuf_save()`.
|
|
|
|
Saves pixbuf to a file in `type`, which is currently "jpeg", "png", "tiff", "ico" or "bmp".
|
|
|
|
If @error is set, `FALSE` will be returned.
|
|
|
|
See [method@GdkPixbuf.Pixbuf.save] for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether an error was set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file to save.</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of file format.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of options to set</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">values for named options</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="scale" c:identifier="gdk_pixbuf_scale">
|
|
<doc xml:space="preserve">Creates a transformation of the source image @src by scaling by
|
|
@scale_x and @scale_y then translating by @offset_x and @offset_y,
|
|
then renders the rectangle (@dest_x, @dest_y, @dest_width,
|
|
@dest_height) of the resulting image onto the destination image
|
|
replacing the previous contents.
|
|
|
|
Try to use gdk_pixbuf_scale_simple() first; this function is
|
|
the industrial-strength power tool you can fall back to, if
|
|
gdk_pixbuf_scale_simple() isn't powerful enough.
|
|
|
|
If the source rectangle overlaps the destination rectangle on the
|
|
same pixbuf, it will be overwritten during the scaling which
|
|
results in rendering artifacts.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GdkPixbuf into which to render the results</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="dest_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the left coordinate for region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the top coordinate for region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the region to render</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="offset_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in the X direction (currently rounded to an integer)</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="offset_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in the Y direction (currently rounded to an integer)</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor in the X direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor in the Y direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="interp_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the interpolation type for the transformation.</doc>
|
|
<type name="InterpType" c:type="GdkInterpType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="scale_simple" c:identifier="gdk_pixbuf_scale_simple">
|
|
<doc xml:space="preserve">Create a new pixbuf containing a copy of `src` scaled to
|
|
`dest_width` x `dest_height`.
|
|
|
|
This function leaves `src` unaffected.
|
|
|
|
The `interp_type` should be `GDK_INTERP_NEAREST` if you want maximum
|
|
speed (but when scaling down `GDK_INTERP_NEAREST` is usually unusably
|
|
ugly). The default `interp_type` should be `GDK_INTERP_BILINEAR` which
|
|
offers reasonable quality and speed.
|
|
|
|
You can scale a sub-portion of `src` by creating a sub-pixbuf
|
|
pointing into `src`; see [method@GdkPixbuf.Pixbuf.new_subpixbuf].
|
|
|
|
If `dest_width` and `dest_height` are equal to the width and height of
|
|
`src`, this function will return an unscaled copy of `src`.
|
|
|
|
For more complicated scaling/alpha blending see [method@GdkPixbuf.Pixbuf.scale]
|
|
and [method@GdkPixbuf.Pixbuf.composite].</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new pixbuf</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbuf</doc>
|
|
<type name="Pixbuf" c:type="const GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of destination image</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of destination image</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="interp_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the interpolation type for the transformation.</doc>
|
|
<type name="InterpType" c:type="GdkInterpType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_option" c:identifier="gdk_pixbuf_set_option" version="2.2">
|
|
<doc xml:space="preserve">Attaches a key/value pair as an option to a `GdkPixbuf`.
|
|
|
|
If `key` already exists in the list of options attached to the `pixbuf`,
|
|
the new value is ignored and `FALSE` is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` on success</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbuf`</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">a nul-terminated string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a nul-terminated string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gdk_pixbuf_unref" introspectable="0" deprecated="1" deprecated-version="2.0">
|
|
<doc xml:space="preserve">Removes a reference from a pixbuf.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_object_unref().</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="bits-per-sample" writable="1" construct-only="1" transfer-ownership="none" getter="get_bits_per_sample">
|
|
<doc xml:space="preserve">The number of bits per sample.
|
|
|
|
Currently only 8 bit per sample are supported.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<property name="colorspace" writable="1" construct-only="1" transfer-ownership="none" getter="get_colorspace">
|
|
<doc xml:space="preserve">The color space of the pixbuf.
|
|
|
|
Currently, only `GDK_COLORSPACE_RGB` is supported.</doc>
|
|
<type name="Colorspace"/>
|
|
</property>
|
|
<property name="has-alpha" writable="1" construct-only="1" transfer-ownership="none" getter="get_has_alpha">
|
|
<doc xml:space="preserve">Whether the pixbuf has an alpha channel.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="height" writable="1" construct-only="1" transfer-ownership="none" getter="get_height">
|
|
<doc xml:space="preserve">The number of rows of the pixbuf.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<property name="n-channels" writable="1" construct-only="1" transfer-ownership="none" getter="get_n_channels">
|
|
<doc xml:space="preserve">The number of samples per pixel.
|
|
|
|
Currently, only 3 or 4 samples per pixel are supported.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<property name="pixel-bytes" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="GLib.Bytes"/>
|
|
</property>
|
|
<property name="pixels" writable="1" construct-only="1" transfer-ownership="none" getter="get_pixels">
|
|
<doc xml:space="preserve">A pointer to the pixel data of the pixbuf.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</property>
|
|
<property name="rowstride" writable="1" construct-only="1" transfer-ownership="none" getter="get_rowstride">
|
|
<doc xml:space="preserve">The number of bytes between the start of a row and
|
|
the start of the next row.
|
|
|
|
This number must (obviously) be at least as large as the
|
|
width of the pixbuf.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<property name="width" writable="1" construct-only="1" transfer-ownership="none" getter="get_width">
|
|
<doc xml:space="preserve">The number of columns of the pixbuf.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
</class>
|
|
<enumeration name="PixbufAlphaMode" deprecated="1" deprecated-version="2.42" glib:type-name="GdkPixbufAlphaMode" glib:get-type="gdk_pixbuf_alpha_mode_get_type" c:type="GdkPixbufAlphaMode">
|
|
<doc xml:space="preserve">Control the alpha channel for drawables.
|
|
|
|
These values can be passed to gdk_pixbuf_xlib_render_to_drawable_alpha()
|
|
in gdk-pixbuf-xlib to control how the alpha channel of an image should
|
|
be handled.
|
|
|
|
This function can create a bilevel clipping mask (black and white) and use
|
|
it while painting the image.
|
|
|
|
In the future, when the X Window System gets an alpha channel extension,
|
|
it will be possible to do full alpha compositing onto arbitrary drawables.
|
|
For now both cases fall back to a bilevel clipping mask.</doc>
|
|
<doc-deprecated xml:space="preserve">There is no user of GdkPixbufAlphaMode in GdkPixbuf,
|
|
and the Xlib utility functions have been split out to their own
|
|
library, gdk-pixbuf-xlib</doc-deprecated>
|
|
<member name="bilevel" value="0" c:identifier="GDK_PIXBUF_ALPHA_BILEVEL" glib:nick="bilevel" glib:name="GDK_PIXBUF_ALPHA_BILEVEL">
|
|
<doc xml:space="preserve">A bilevel clipping mask (black and white)
|
|
will be created and used to draw the image. Pixels below 0.5 opacity
|
|
will be considered fully transparent, and all others will be
|
|
considered fully opaque.</doc>
|
|
</member>
|
|
<member name="full" value="1" c:identifier="GDK_PIXBUF_ALPHA_FULL" glib:nick="full" glib:name="GDK_PIXBUF_ALPHA_FULL">
|
|
<doc xml:space="preserve">For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
|
|
In the future it will do full alpha compositing.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<class name="PixbufAnimation" c:symbol-prefix="pixbuf_animation" c:type="GdkPixbufAnimation" parent="GObject.Object" glib:type-name="GdkPixbufAnimation" glib:get-type="gdk_pixbuf_animation_get_type" glib:type-struct="PixbufAnimationClass">
|
|
<doc xml:space="preserve">An opaque object representing an animation.
|
|
|
|
The GdkPixBuf library provides a simple mechanism to load and
|
|
represent animations. An animation is conceptually a series of
|
|
frames to be displayed over time.
|
|
|
|
The animation may not be represented as a series of frames
|
|
internally; for example, it may be stored as a sprite and
|
|
instructions for moving the sprite around a background.
|
|
|
|
To display an animation you don't need to understand its
|
|
representation, however; you just ask `GdkPixbuf` what should
|
|
be displayed at a given point in time.</doc>
|
|
<constructor name="new_from_file" c:identifier="gdk_pixbuf_animation_new_from_file" throws="1">
|
|
<doc xml:space="preserve">Creates a new animation by loading it from a file.
|
|
|
|
The file format is detected automatically.
|
|
|
|
If the file's format does not support multi-frame images, then an animation
|
|
with a single frame will be created.
|
|
|
|
Possible errors are in the `GDK_PIXBUF_ERROR` and `G_FILE_ERROR` domains.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created animation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name of file to load, in the GLib file
|
|
name encoding</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_resource" c:identifier="gdk_pixbuf_animation_new_from_resource" version="2.28" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf animation by loading an image from an resource.
|
|
|
|
The file format is detected automatically. If `NULL` is returned, then
|
|
@error will be set.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created animation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="resource_path" transfer-ownership="none">
|
|
<doc xml:space="preserve">the path of the resource file</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_stream" c:identifier="gdk_pixbuf_animation_new_from_stream" version="2.28" throws="1">
|
|
<doc xml:space="preserve">Creates a new animation by loading it from an input stream.
|
|
|
|
The file format is detected automatically.
|
|
|
|
If `NULL` is returned, then @error will be set.
|
|
|
|
The @cancellable can be used to abort the operation from another thread.
|
|
If the operation was cancelled, the error `G_IO_ERROR_CANCELLED` will be
|
|
returned. Other possible errors are in the `GDK_PIXBUF_ERROR` and
|
|
`G_IO_ERROR` domains.
|
|
|
|
The stream is not closed.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A newly-created animation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GInputStream` to load the pixbuf from</doc>
|
|
<type name="Gio.InputStream" c:type="GInputStream*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional `GCancellable` object</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_stream_finish" c:identifier="gdk_pixbuf_animation_new_from_stream_finish" version="2.28" throws="1">
|
|
<doc xml:space="preserve">Finishes an asynchronous pixbuf animation creation operation started with
|
|
[func@GdkPixbuf.PixbufAnimation.new_from_stream_async].</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly created animation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="async_result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GAsyncResult</doc>
|
|
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<function name="new_from_stream_async" c:identifier="gdk_pixbuf_animation_new_from_stream_async" version="2.28">
|
|
<doc xml:space="preserve">Creates a new animation by asynchronously loading an image from an input stream.
|
|
|
|
For more details see gdk_pixbuf_new_from_stream(), which is the synchronous
|
|
version of this function.
|
|
|
|
When the operation is finished, `callback` will be called in the main thread.
|
|
You can then call gdk_pixbuf_animation_new_from_stream_finish() to get the
|
|
result of the operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GInputStream from which to load the animation</doc>
|
|
<type name="Gio.InputStream" c:type="GInputStream*"/>
|
|
</parameter>
|
|
<parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional #GCancellable object</doc>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="3">
|
|
<doc xml:space="preserve">a `GAsyncReadyCallback` to call when the pixbuf is loaded</doc>
|
|
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="get_iter" invoker="get_iter">
|
|
<doc xml:space="preserve">Get an iterator for displaying an animation.
|
|
|
|
The iterator provides the frames that should be displayed at a
|
|
given time.
|
|
|
|
@start_time would normally come from g_get_current_time(), and marks
|
|
the beginning of animation playback. After creating an iterator, you
|
|
should immediately display the pixbuf returned by
|
|
gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install
|
|
a timeout (with g_timeout_add()) or by some other mechanism ensure
|
|
that you'll update the image after
|
|
gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time
|
|
the image is updated, you should reinstall the timeout with the new,
|
|
possibly-changed delay time.
|
|
|
|
As a shortcut, if @start_time is `NULL`, the result of
|
|
g_get_current_time() will be used automatically.
|
|
|
|
To update the image (i.e. possibly change the result of
|
|
gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation),
|
|
call gdk_pixbuf_animation_iter_advance().
|
|
|
|
If you're using #GdkPixbufLoader, in addition to updating the image
|
|
after the delay time, you should also update it whenever you
|
|
receive the area_updated signal and
|
|
gdk_pixbuf_animation_iter_on_currently_loading_frame() returns
|
|
`TRUE`. In this case, the frame currently being fed into the loader
|
|
has received new data, so needs to be refreshed. The delay time for
|
|
a frame may also be modified after an area_updated signal, for
|
|
example if the delay time for a frame is encoded in the data after
|
|
the frame itself. So your timeout should be reinstalled after any
|
|
area_updated signal.
|
|
|
|
A delay time of -1 is possible, indicating "infinite".</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an iterator to move over the animation</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
<parameter name="start_time" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">time when the animation starts playing</doc>
|
|
<type name="GLib.TimeVal" c:type="const GTimeVal*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_size">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_static_image" invoker="get_static_image">
|
|
<doc xml:space="preserve">Retrieves a static image for the animation.
|
|
|
|
If an animation is really just a plain image (has only one frame),
|
|
this function returns that image.
|
|
|
|
If the animation is an animation, this function returns a reasonable
|
|
image to use as a static unanimated image, which might be the first
|
|
frame, or something more sophisticated depending on the file format.
|
|
|
|
If an animation hasn't loaded any frames yet, this function will
|
|
return `NULL`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">unanimated image representing the animation</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="is_static_image" invoker="is_static_image">
|
|
<doc xml:space="preserve">Checks whether the animation is a static image.
|
|
|
|
If you load a file with gdk_pixbuf_animation_new_from_file() and it
|
|
turns out to be a plain, unanimated image, then this function will
|
|
return `TRUE`. Use gdk_pixbuf_animation_get_static_image() to retrieve
|
|
the image.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the "animation" was really just an image</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_height" c:identifier="gdk_pixbuf_animation_get_height">
|
|
<doc xml:space="preserve">Queries the height of the bounding box of a pixbuf animation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of the bounding box of the animation.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">An animation.</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_iter" c:identifier="gdk_pixbuf_animation_get_iter">
|
|
<doc xml:space="preserve">Get an iterator for displaying an animation.
|
|
|
|
The iterator provides the frames that should be displayed at a
|
|
given time.
|
|
|
|
@start_time would normally come from g_get_current_time(), and marks
|
|
the beginning of animation playback. After creating an iterator, you
|
|
should immediately display the pixbuf returned by
|
|
gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install
|
|
a timeout (with g_timeout_add()) or by some other mechanism ensure
|
|
that you'll update the image after
|
|
gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time
|
|
the image is updated, you should reinstall the timeout with the new,
|
|
possibly-changed delay time.
|
|
|
|
As a shortcut, if @start_time is `NULL`, the result of
|
|
g_get_current_time() will be used automatically.
|
|
|
|
To update the image (i.e. possibly change the result of
|
|
gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation),
|
|
call gdk_pixbuf_animation_iter_advance().
|
|
|
|
If you're using #GdkPixbufLoader, in addition to updating the image
|
|
after the delay time, you should also update it whenever you
|
|
receive the area_updated signal and
|
|
gdk_pixbuf_animation_iter_on_currently_loading_frame() returns
|
|
`TRUE`. In this case, the frame currently being fed into the loader
|
|
has received new data, so needs to be refreshed. The delay time for
|
|
a frame may also be modified after an area_updated signal, for
|
|
example if the delay time for a frame is encoded in the data after
|
|
the frame itself. So your timeout should be reinstalled after any
|
|
area_updated signal.
|
|
|
|
A delay time of -1 is possible, indicating "infinite".</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an iterator to move over the animation</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
<parameter name="start_time" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">time when the animation starts playing</doc>
|
|
<type name="GLib.TimeVal" c:type="const GTimeVal*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_static_image" c:identifier="gdk_pixbuf_animation_get_static_image">
|
|
<doc xml:space="preserve">Retrieves a static image for the animation.
|
|
|
|
If an animation is really just a plain image (has only one frame),
|
|
this function returns that image.
|
|
|
|
If the animation is an animation, this function returns a reasonable
|
|
image to use as a static unanimated image, which might be the first
|
|
frame, or something more sophisticated depending on the file format.
|
|
|
|
If an animation hasn't loaded any frames yet, this function will
|
|
return `NULL`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">unanimated image representing the animation</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_width" c:identifier="gdk_pixbuf_animation_get_width">
|
|
<doc xml:space="preserve">Queries the width of the bounding box of a pixbuf animation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of the bounding box of the animation.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">An animation.</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_static_image" c:identifier="gdk_pixbuf_animation_is_static_image">
|
|
<doc xml:space="preserve">Checks whether the animation is a static image.
|
|
|
|
If you load a file with gdk_pixbuf_animation_new_from_file() and it
|
|
turns out to be a plain, unanimated image, then this function will
|
|
return `TRUE`. Use gdk_pixbuf_animation_get_static_image() to retrieve
|
|
the image.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the "animation" was really just an image</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gdk_pixbuf_animation_ref" introspectable="0" deprecated="1" deprecated-version="2.0">
|
|
<doc xml:space="preserve">Adds a reference to an animation.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_object_ref().</doc-deprecated>
|
|
<return-value>
|
|
<doc xml:space="preserve">The same as the @animation argument.</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">An animation.</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gdk_pixbuf_animation_unref" introspectable="0" deprecated="1" deprecated-version="2.0">
|
|
<doc xml:space="preserve">Removes a reference from an animation.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_object_unref().</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">An animation.</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="PixbufAnimationClass" c:type="GdkPixbufAnimationClass" glib:is-gtype-struct-for="PixbufAnimation">
|
|
<doc xml:space="preserve">Modules supporting animations must derive a type from
|
|
#GdkPixbufAnimation, providing suitable implementations of the
|
|
virtual functions.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="is_static_image">
|
|
<callback name="is_static_image">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the "animation" was really just an image</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_static_image">
|
|
<callback name="get_static_image">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">unanimated image representing the animation</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_size">
|
|
<callback name="get_size">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="animation" transfer-ownership="none">
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_iter">
|
|
<callback name="get_iter">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an iterator to move over the animation</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimation</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</parameter>
|
|
<parameter name="start_time" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">time when the animation starts playing</doc>
|
|
<type name="GLib.TimeVal" c:type="const GTimeVal*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<class name="PixbufAnimationIter" c:symbol-prefix="pixbuf_animation_iter" c:type="GdkPixbufAnimationIter" parent="GObject.Object" glib:type-name="GdkPixbufAnimationIter" glib:get-type="gdk_pixbuf_animation_iter_get_type" glib:type-struct="PixbufAnimationIterClass">
|
|
<doc xml:space="preserve">An opaque object representing an iterator which points to a
|
|
certain position in an animation.</doc>
|
|
<virtual-method name="advance" invoker="advance">
|
|
<doc xml:space="preserve">Possibly advances an animation to a new frame.
|
|
|
|
Chooses the frame based on the start time passed to
|
|
gdk_pixbuf_animation_get_iter().
|
|
|
|
@current_time would normally come from g_get_current_time(), and
|
|
must be greater than or equal to the time passed to
|
|
gdk_pixbuf_animation_get_iter(), and must increase or remain
|
|
unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is
|
|
called. That is, you can't go backward in time; animations only
|
|
play forward.
|
|
|
|
As a shortcut, pass `NULL` for the current time and g_get_current_time()
|
|
will be invoked on your behalf. So you only need to explicitly pass
|
|
@current_time if you're doing something odd like playing the animation
|
|
at double speed.
|
|
|
|
If this function returns `FALSE`, there's no need to update the animation
|
|
display, assuming the display had been rendered prior to advancing;
|
|
if `TRUE`, you need to call gdk_pixbuf_animation_iter_get_pixbuf()
|
|
and update the display with the new pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the image may need updating</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimationIter</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="current_time" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">current time</doc>
|
|
<type name="GLib.TimeVal" c:type="const GTimeVal*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_delay_time" invoker="get_delay_time">
|
|
<doc xml:space="preserve">Gets the number of milliseconds the current pixbuf should be displayed,
|
|
or -1 if the current pixbuf should be displayed forever.
|
|
|
|
The `g_timeout_add()` function conveniently takes a timeout in milliseconds,
|
|
so you can use a timeout to schedule the next update.
|
|
|
|
Note that some formats, like GIF, might clamp the timeout values in the
|
|
image file to avoid updates that are just too quick. The minimum timeout
|
|
for GIF images is currently 20 milliseconds.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">delay time in milliseconds (thousandths of a second)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">an animation iterator</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_pixbuf" invoker="get_pixbuf">
|
|
<doc xml:space="preserve">Gets the current pixbuf which should be displayed.
|
|
|
|
The pixbuf might not be the same size as the animation itself
|
|
(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()).
|
|
|
|
This pixbuf should be displayed for gdk_pixbuf_animation_iter_get_delay_time()
|
|
milliseconds.
|
|
|
|
The caller of this function does not own a reference to the returned
|
|
pixbuf; the returned pixbuf will become invalid when the iterator
|
|
advances to the next frame, which may happen anytime you call
|
|
gdk_pixbuf_animation_iter_advance().
|
|
|
|
Copy the pixbuf to keep it (don't just add a reference), as it may get
|
|
recycled as you advance the iterator.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the pixbuf to be displayed</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">an animation iterator</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="on_currently_loading_frame" invoker="on_currently_loading_frame">
|
|
<doc xml:space="preserve">Used to determine how to respond to the area_updated signal on
|
|
#GdkPixbufLoader when loading an animation.
|
|
|
|
The `::area_updated` signal is emitted for an area of the frame currently
|
|
streaming in to the loader. So if you're on the currently loading frame,
|
|
you will need to redraw the screen for the updated area.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the frame we're on is partially loaded, or the last frame</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimationIter</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="advance" c:identifier="gdk_pixbuf_animation_iter_advance">
|
|
<doc xml:space="preserve">Possibly advances an animation to a new frame.
|
|
|
|
Chooses the frame based on the start time passed to
|
|
gdk_pixbuf_animation_get_iter().
|
|
|
|
@current_time would normally come from g_get_current_time(), and
|
|
must be greater than or equal to the time passed to
|
|
gdk_pixbuf_animation_get_iter(), and must increase or remain
|
|
unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is
|
|
called. That is, you can't go backward in time; animations only
|
|
play forward.
|
|
|
|
As a shortcut, pass `NULL` for the current time and g_get_current_time()
|
|
will be invoked on your behalf. So you only need to explicitly pass
|
|
@current_time if you're doing something odd like playing the animation
|
|
at double speed.
|
|
|
|
If this function returns `FALSE`, there's no need to update the animation
|
|
display, assuming the display had been rendered prior to advancing;
|
|
if `TRUE`, you need to call gdk_pixbuf_animation_iter_get_pixbuf()
|
|
and update the display with the new pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the image may need updating</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimationIter</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="current_time" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">current time</doc>
|
|
<type name="GLib.TimeVal" c:type="const GTimeVal*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_delay_time" c:identifier="gdk_pixbuf_animation_iter_get_delay_time">
|
|
<doc xml:space="preserve">Gets the number of milliseconds the current pixbuf should be displayed,
|
|
or -1 if the current pixbuf should be displayed forever.
|
|
|
|
The `g_timeout_add()` function conveniently takes a timeout in milliseconds,
|
|
so you can use a timeout to schedule the next update.
|
|
|
|
Note that some formats, like GIF, might clamp the timeout values in the
|
|
image file to avoid updates that are just too quick. The minimum timeout
|
|
for GIF images is currently 20 milliseconds.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">delay time in milliseconds (thousandths of a second)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">an animation iterator</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixbuf" c:identifier="gdk_pixbuf_animation_iter_get_pixbuf">
|
|
<doc xml:space="preserve">Gets the current pixbuf which should be displayed.
|
|
|
|
The pixbuf might not be the same size as the animation itself
|
|
(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()).
|
|
|
|
This pixbuf should be displayed for gdk_pixbuf_animation_iter_get_delay_time()
|
|
milliseconds.
|
|
|
|
The caller of this function does not own a reference to the returned
|
|
pixbuf; the returned pixbuf will become invalid when the iterator
|
|
advances to the next frame, which may happen anytime you call
|
|
gdk_pixbuf_animation_iter_advance().
|
|
|
|
Copy the pixbuf to keep it (don't just add a reference), as it may get
|
|
recycled as you advance the iterator.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the pixbuf to be displayed</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">an animation iterator</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="on_currently_loading_frame" c:identifier="gdk_pixbuf_animation_iter_on_currently_loading_frame">
|
|
<doc xml:space="preserve">Used to determine how to respond to the area_updated signal on
|
|
#GdkPixbufLoader when loading an animation.
|
|
|
|
The `::area_updated` signal is emitted for an area of the frame currently
|
|
streaming in to the loader. So if you're on the currently loading frame,
|
|
you will need to redraw the screen for the updated area.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the frame we're on is partially loaded, or the last frame</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimationIter</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="PixbufAnimationIterClass" c:type="GdkPixbufAnimationIterClass" glib:is-gtype-struct-for="PixbufAnimationIter">
|
|
<doc xml:space="preserve">Modules supporting animations must derive a type from
|
|
#GdkPixbufAnimationIter, providing suitable implementations of the
|
|
virtual functions.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="get_delay_time">
|
|
<callback name="get_delay_time">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">delay time in milliseconds (thousandths of a second)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">an animation iterator</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_pixbuf">
|
|
<callback name="get_pixbuf">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the pixbuf to be displayed</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">an animation iterator</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="on_currently_loading_frame">
|
|
<callback name="on_currently_loading_frame">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the frame we're on is partially loaded, or the last frame</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimationIter</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="advance">
|
|
<callback name="advance">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the image may need updating</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufAnimationIter</doc>
|
|
<type name="PixbufAnimationIter" c:type="GdkPixbufAnimationIter*"/>
|
|
</parameter>
|
|
<parameter name="current_time" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">current time</doc>
|
|
<type name="GLib.TimeVal" c:type="const GTimeVal*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<callback name="PixbufDestroyNotify" c:type="GdkPixbufDestroyNotify">
|
|
<doc xml:space="preserve">A function of this type is responsible for freeing the pixel array
|
|
of a pixbuf.
|
|
|
|
The gdk_pixbuf_new_from_data() function lets you pass in a pre-allocated
|
|
pixel array so that a pixbuf can be created from it; in this case you
|
|
will need to pass in a function of type `GdkPixbufDestroyNotify` so that
|
|
the pixel data can be freed when the pixbuf is finalized.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">The pixel array of the pixbuf
|
|
that is being finalized.</doc>
|
|
<array zero-terminated="0" c:type="guchar*">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">User closure data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="PixbufError" glib:type-name="GdkPixbufError" glib:get-type="gdk_pixbuf_error_get_type" c:type="GdkPixbufError" glib:error-domain="gdk-pixbuf-error-quark">
|
|
<doc xml:space="preserve">An error code in the `GDK_PIXBUF_ERROR` domain.
|
|
|
|
Many gdk-pixbuf operations can cause errors in this domain, or in
|
|
the `G_FILE_ERROR` domain.</doc>
|
|
<member name="corrupt_image" value="0" c:identifier="GDK_PIXBUF_ERROR_CORRUPT_IMAGE" glib:nick="corrupt-image" glib:name="GDK_PIXBUF_ERROR_CORRUPT_IMAGE">
|
|
<doc xml:space="preserve">An image file was broken somehow.</doc>
|
|
</member>
|
|
<member name="insufficient_memory" value="1" c:identifier="GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY" glib:nick="insufficient-memory" glib:name="GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY">
|
|
<doc xml:space="preserve">Not enough memory.</doc>
|
|
</member>
|
|
<member name="bad_option" value="2" c:identifier="GDK_PIXBUF_ERROR_BAD_OPTION" glib:nick="bad-option" glib:name="GDK_PIXBUF_ERROR_BAD_OPTION">
|
|
<doc xml:space="preserve">A bad option was passed to a pixbuf save module.</doc>
|
|
</member>
|
|
<member name="unknown_type" value="3" c:identifier="GDK_PIXBUF_ERROR_UNKNOWN_TYPE" glib:nick="unknown-type" glib:name="GDK_PIXBUF_ERROR_UNKNOWN_TYPE">
|
|
<doc xml:space="preserve">Unknown image type.</doc>
|
|
</member>
|
|
<member name="unsupported_operation" value="4" c:identifier="GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION" glib:nick="unsupported-operation" glib:name="GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION">
|
|
<doc xml:space="preserve">Don't know how to perform the
|
|
given operation on the type of image at hand.</doc>
|
|
</member>
|
|
<member name="failed" value="5" c:identifier="GDK_PIXBUF_ERROR_FAILED" glib:nick="failed" glib:name="GDK_PIXBUF_ERROR_FAILED">
|
|
<doc xml:space="preserve">Generic failure code, something went wrong.</doc>
|
|
</member>
|
|
<member name="incomplete_animation" value="6" c:identifier="GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION" glib:nick="incomplete-animation" glib:name="GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION">
|
|
<doc xml:space="preserve">Only part of the animation was loaded.</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gdk_pixbuf_error_quark">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<record name="PixbufFormat" c:type="GdkPixbufFormat" version="2.2" glib:type-name="GdkPixbufFormat" glib:get-type="gdk_pixbuf_format_get_type" c:symbol-prefix="pixbuf_format">
|
|
<doc xml:space="preserve">A `GdkPixbufFormat` contains information about the image format accepted
|
|
by a module.
|
|
|
|
Only modules should access the fields directly, applications should
|
|
use the `gdk_pixbuf_format_*` family of functions.</doc>
|
|
<field name="name" writable="1">
|
|
<doc xml:space="preserve">the name of the image format</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="signature" writable="1">
|
|
<doc xml:space="preserve">the signature of the module</doc>
|
|
<type name="PixbufModulePattern" c:type="GdkPixbufModulePattern*"/>
|
|
</field>
|
|
<field name="domain" writable="1">
|
|
<doc xml:space="preserve">the message domain for the `description`</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="description" writable="1">
|
|
<doc xml:space="preserve">a description of the image format</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="mime_types" writable="1">
|
|
<doc xml:space="preserve">the MIME types for the image format</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</field>
|
|
<field name="extensions" writable="1">
|
|
<doc xml:space="preserve">typical filename extensions for the
|
|
image format</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">a combination of `GdkPixbufFormatFlags`</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="disabled" writable="1">
|
|
<doc xml:space="preserve">a boolean determining whether the loader is disabled`</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="license" writable="1">
|
|
<doc xml:space="preserve">a string containing license information, typically set to
|
|
shorthands like "GPL", "LGPL", etc.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<method name="copy" c:identifier="gdk_pixbuf_format_copy" version="2.22">
|
|
<doc xml:space="preserve">Creates a copy of `format`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated copy of a `GdkPixbufFormat`. Use
|
|
gdk_pixbuf_format_free() to free the resources when done</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pixbuf format</doc>
|
|
<type name="PixbufFormat" c:type="const GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gdk_pixbuf_format_free" version="2.22">
|
|
<doc xml:space="preserve">Frees the resources allocated when copying a `GdkPixbufFormat`
|
|
using gdk_pixbuf_format_copy()</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pixbuf format</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_description" c:identifier="gdk_pixbuf_format_get_description" version="2.2">
|
|
<doc xml:space="preserve">Returns a description of the format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a description of the format.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_extensions" c:identifier="gdk_pixbuf_format_get_extensions" version="2.2">
|
|
<doc xml:space="preserve">Returns the filename extensions typically used for files in the
|
|
given format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an array of
|
|
filename extensions</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_license" c:identifier="gdk_pixbuf_format_get_license" version="2.6">
|
|
<doc xml:space="preserve">Returns information about the license of the image loader for the format.
|
|
|
|
The returned string should be a shorthand for a well known license, e.g.
|
|
"LGPL", "GPL", "QPL", "GPL/QPL", or "other" to indicate some other license.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string describing the license of the pixbuf format</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pixbuf format</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_mime_types" c:identifier="gdk_pixbuf_format_get_mime_types" version="2.2">
|
|
<doc xml:space="preserve">Returns the mime types supported by the format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an array of mime types</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name" c:identifier="gdk_pixbuf_format_get_name" version="2.2">
|
|
<doc xml:space="preserve">Returns the name of the format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the name of the format.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_disabled" c:identifier="gdk_pixbuf_format_is_disabled" version="2.6">
|
|
<doc xml:space="preserve">Returns whether this image format is disabled.
|
|
|
|
See gdk_pixbuf_format_set_disabled().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether this image format is disabled.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_save_option_supported" c:identifier="gdk_pixbuf_format_is_save_option_supported" version="2.36">
|
|
<doc xml:space="preserve">Returns `TRUE` if the save option specified by @option_key is supported when
|
|
saving a pixbuf using the module implementing @format.
|
|
|
|
See gdk_pixbuf_save() for more information about option keys.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the specified option is supported</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pixbuf format</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
<parameter name="option_key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of an option</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_scalable" c:identifier="gdk_pixbuf_format_is_scalable" version="2.6">
|
|
<doc xml:space="preserve">Returns whether this image format is scalable.
|
|
|
|
If a file is in a scalable format, it is preferable to load it at
|
|
the desired size, rather than loading it at the default size and
|
|
scaling the resulting pixbuf to the desired size.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether this image format is scalable.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_writable" c:identifier="gdk_pixbuf_format_is_writable" version="2.2">
|
|
<doc xml:space="preserve">Returns whether pixbufs can be saved in the given format.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether pixbufs can be saved in the given format.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_disabled" c:identifier="gdk_pixbuf_format_set_disabled" version="2.6">
|
|
<doc xml:space="preserve">Disables or enables an image format.
|
|
|
|
If a format is disabled, GdkPixbuf won't use the image loader for
|
|
this format to load images.
|
|
|
|
Applications can use this to avoid using image loaders with an
|
|
inappropriate license, see gdk_pixbuf_format_get_license().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat`</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</instance-parameter>
|
|
<parameter name="disabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` to disable the format @format</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="PixbufFormatFlags" version="2.2" c:type="GdkPixbufFormatFlags">
|
|
<doc xml:space="preserve">Flags which allow a module to specify further details about the supported
|
|
operations.</doc>
|
|
<member name="writable" value="1" c:identifier="GDK_PIXBUF_FORMAT_WRITABLE">
|
|
<doc xml:space="preserve">the module can write out images in the format.</doc>
|
|
</member>
|
|
<member name="scalable" value="2" c:identifier="GDK_PIXBUF_FORMAT_SCALABLE">
|
|
<doc xml:space="preserve">the image format is scalable</doc>
|
|
</member>
|
|
<member name="threadsafe" value="4" c:identifier="GDK_PIXBUF_FORMAT_THREADSAFE">
|
|
<doc xml:space="preserve">the module is threadsafe. gdk-pixbuf
|
|
ignores modules that are not marked as threadsafe. (Since 2.28).</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="PixbufLoader" c:symbol-prefix="pixbuf_loader" c:type="GdkPixbufLoader" parent="GObject.Object" glib:type-name="GdkPixbufLoader" glib:get-type="gdk_pixbuf_loader_get_type" glib:type-struct="PixbufLoaderClass">
|
|
<doc xml:space="preserve">Incremental image loader.
|
|
|
|
`GdkPixbufLoader` provides a way for applications to drive the
|
|
process of loading an image, by letting them send the image data
|
|
directly to the loader instead of having the loader read the data
|
|
from a file. Applications can use this functionality instead of
|
|
`gdk_pixbuf_new_from_file()` or `gdk_pixbuf_animation_new_from_file()`
|
|
when they need to parse image data in small chunks. For example,
|
|
it should be used when reading an image from a (potentially) slow
|
|
network connection, or when loading an extremely large file.
|
|
|
|
To use `GdkPixbufLoader` to load an image, create a new instance,
|
|
and call [method@GdkPixbuf.PixbufLoader.write] to send the data
|
|
to it. When done, [method@GdkPixbuf.PixbufLoader.close] should be
|
|
called to end the stream and finalize everything.
|
|
|
|
The loader will emit three important signals throughout the process:
|
|
|
|
- [signal@GdkPixbuf.PixbufLoader::size-prepared] will be emitted as
|
|
soon as the image has enough information to determine the size of
|
|
the image to be used. If you want to scale the image while loading
|
|
it, you can call [method@GdkPixbuf.PixbufLoader.set_size] in
|
|
response to this signal.
|
|
- [signal@GdkPixbuf.PixbufLoader::area-prepared] will be emitted as
|
|
soon as the pixbuf of the desired has been allocated. You can obtain
|
|
the `GdkPixbuf` instance by calling [method@GdkPixbuf.PixbufLoader.get_pixbuf].
|
|
If you want to use it, simply acquire a reference to it. You can
|
|
also call `gdk_pixbuf_loader_get_pixbuf()` later to get the same
|
|
pixbuf.
|
|
- [signal@GdkPixbuf.PixbufLoader::area-updated] will be emitted every
|
|
time a region is updated. This way you can update a partially
|
|
completed image. Note that you do not know anything about the
|
|
completeness of an image from the updated area. For example, in an
|
|
interlaced image you will need to make several passes before the
|
|
image is done loading.
|
|
|
|
## Loading an animation
|
|
|
|
Loading an animation is almost as easy as loading an image. Once the
|
|
first [signal@GdkPixbuf.PixbufLoader::area-prepared] signal has been
|
|
emitted, you can call [method@GdkPixbuf.PixbufLoader.get_animation] to
|
|
get the [class@GdkPixbuf.PixbufAnimation] instance, and then call
|
|
and [method@GdkPixbuf.PixbufAnimation.get_iter] to get a
|
|
[class@GdkPixbuf.PixbufAnimationIter] to retrieve the pixbuf for the
|
|
desired time stamp.</doc>
|
|
<constructor name="new" c:identifier="gdk_pixbuf_loader_new">
|
|
<doc xml:space="preserve">Creates a new pixbuf loader object.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_with_mime_type" c:identifier="gdk_pixbuf_loader_new_with_mime_type" version="2.4" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf loader object that always attempts to parse
|
|
image data as if it were an image of MIME type @mime_type, instead of
|
|
identifying the type automatically.
|
|
|
|
This function is useful if you want an error if the image isn't the
|
|
expected MIME type; for loading image formats that can't be reliably
|
|
identified by looking at the data; or if the user manually forces a
|
|
specific MIME type.
|
|
|
|
The list of supported mime types depends on what image loaders
|
|
are installed, but typically "image/png", "image/jpeg", "image/gif",
|
|
"image/tiff" and "image/x-xpixmap" are among the supported mime types.
|
|
To obtain the full list of supported mime types, call
|
|
gdk_pixbuf_format_get_mime_types() on each of the #GdkPixbufFormat
|
|
structs returned by gdk_pixbuf_get_formats().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mime_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mime type to be loaded</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_with_type" c:identifier="gdk_pixbuf_loader_new_with_type" throws="1">
|
|
<doc xml:space="preserve">Creates a new pixbuf loader object that always attempts to parse
|
|
image data as if it were an image of type @image_type, instead of
|
|
identifying the type automatically.
|
|
|
|
This function is useful if you want an error if the image isn't the
|
|
expected type; for loading image formats that can't be reliably
|
|
identified by looking at the data; or if the user manually forces
|
|
a specific type.
|
|
|
|
The list of supported image formats depends on what image loaders
|
|
are installed, but typically "png", "jpeg", "gif", "tiff" and
|
|
"xpm" are among the supported formats. To obtain the full list of
|
|
supported image formats, call gdk_pixbuf_format_get_name() on each
|
|
of the #GdkPixbufFormat structs returned by gdk_pixbuf_get_formats().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-created pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="image_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the image format to be loaded with the image</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<virtual-method name="area_prepared">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="area_updated">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="closed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="size_prepared">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="close" c:identifier="gdk_pixbuf_loader_close" throws="1">
|
|
<doc xml:space="preserve">Informs a pixbuf loader that no further writes with
|
|
gdk_pixbuf_loader_write() will occur, so that it can free its
|
|
internal loading structures.
|
|
|
|
This function also tries to parse any data that hasn't yet been parsed;
|
|
if the remaining data is partial or corrupt, an error will be returned.
|
|
|
|
If `FALSE` is returned, `error` will be set to an error from the
|
|
`GDK_PIXBUF_ERROR` or `G_FILE_ERROR` domains.
|
|
|
|
If you're just cancelling a load rather than expecting it to be finished,
|
|
passing `NULL` for `error` to ignore it is reasonable.
|
|
|
|
Remember that this function does not release a reference on the loader, so
|
|
you will need to explicitly release any reference you hold.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if all image data written so far was successfully
|
|
passed out via the update_area signal</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_animation" c:identifier="gdk_pixbuf_loader_get_animation">
|
|
<doc xml:space="preserve">Queries the #GdkPixbufAnimation that a pixbuf loader is currently creating.
|
|
|
|
In general it only makes sense to call this function after the
|
|
[signal@GdkPixbuf.PixbufLoader::area-prepared] signal has been emitted by
|
|
the loader.
|
|
|
|
If the loader doesn't have enough bytes yet, and hasn't emitted the `area-prepared`
|
|
signal, this function will return `NULL`.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The animation that the loader is
|
|
currently loading</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_format" c:identifier="gdk_pixbuf_loader_get_format" version="2.2">
|
|
<doc xml:space="preserve">Obtains the available information about the format of the
|
|
currently loading image file.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">A #GdkPixbufFormat</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixbuf" c:identifier="gdk_pixbuf_loader_get_pixbuf">
|
|
<doc xml:space="preserve">Queries the #GdkPixbuf that a pixbuf loader is currently creating.
|
|
|
|
In general it only makes sense to call this function after the
|
|
[signal@GdkPixbuf.PixbufLoader::area-prepared] signal has been
|
|
emitted by the loader; this means that enough data has been read
|
|
to know the size of the image that will be allocated.
|
|
|
|
If the loader has not received enough data via gdk_pixbuf_loader_write(),
|
|
then this function returns `NULL`.
|
|
|
|
The returned pixbuf will be the same in all future calls to the loader,
|
|
so if you want to keep using it, you should acquire a reference to it.
|
|
|
|
Additionally, if the loader is an animation, it will return the "static
|
|
image" of the animation (see gdk_pixbuf_animation_get_static_image()).</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The pixbuf that the loader is
|
|
creating</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_size" c:identifier="gdk_pixbuf_loader_set_size" version="2.2">
|
|
<doc xml:space="preserve">Causes the image to be scaled while it is loaded.
|
|
|
|
The desired image size can be determined relative to the original
|
|
size of the image by calling gdk_pixbuf_loader_set_size() from a
|
|
signal handler for the ::size-prepared signal.
|
|
|
|
Attempts to set the desired image size are ignored after the
|
|
emission of the ::size-prepared signal.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The desired width of the image being loaded.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The desired height of the image being loaded.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="write" c:identifier="gdk_pixbuf_loader_write" throws="1">
|
|
<doc xml:space="preserve">Parses the next `count` bytes in the given image buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the write was successful, or
|
|
`FALSE` if the loader cannot parse the buffer</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">Pointer to image data.</doc>
|
|
<array length="1" zero-terminated="0" c:type="const guchar*">
|
|
<type name="guint8" c:type="guchar"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Length of the @buf buffer in bytes.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="write_bytes" c:identifier="gdk_pixbuf_loader_write_bytes" version="2.30" throws="1">
|
|
<doc xml:space="preserve">Parses the next contents of the given image buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the write was successful, or `FALSE` if
|
|
the loader cannot parse the buffer</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="loader" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pixbuf loader.</doc>
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">The image data as a `GBytes` buffer.</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance" readable="0" private="1">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<glib:signal name="area-prepared" when="last">
|
|
<doc xml:space="preserve">This signal is emitted when the pixbuf loader has allocated the
|
|
pixbuf in the desired size.
|
|
|
|
After this signal is emitted, applications can call
|
|
gdk_pixbuf_loader_get_pixbuf() to fetch the partially-loaded
|
|
pixbuf.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</glib:signal>
|
|
<glib:signal name="area-updated" when="last">
|
|
<doc xml:space="preserve">This signal is emitted when a significant area of the image being
|
|
loaded has been updated.
|
|
|
|
Normally it means that a complete scanline has been read in, but
|
|
it could be a different area as well.
|
|
|
|
Applications can use this signal to know when to repaint
|
|
areas of an image that is being loaded.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X offset of upper-left corner of the updated area.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y offset of upper-left corner of the updated area.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of updated area.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of updated area.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="closed" when="last">
|
|
<doc xml:space="preserve">This signal is emitted when gdk_pixbuf_loader_close() is called.
|
|
|
|
It can be used by different parts of an application to receive
|
|
notification when an image loader is closed by the code that
|
|
drives it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</glib:signal>
|
|
<glib:signal name="size-prepared" when="last">
|
|
<doc xml:space="preserve">This signal is emitted when the pixbuf loader has been fed the
|
|
initial amount of data that is required to figure out the size
|
|
of the image that it will create.
|
|
|
|
Applications can call gdk_pixbuf_loader_set_size() in response
|
|
to this signal to set the desired size to which the image
|
|
should be scaled.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the original width of the image</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the original height of the image</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="PixbufLoaderClass" c:type="GdkPixbufLoaderClass" glib:is-gtype-struct-for="PixbufLoader">
|
|
<field name="parent_class">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="size_prepared">
|
|
<callback name="size_prepared">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="area_prepared">
|
|
<callback name="area_prepared">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="area_updated">
|
|
<callback name="area_updated">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="closed">
|
|
<callback name="closed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="loader" transfer-ownership="none">
|
|
<type name="PixbufLoader" c:type="GdkPixbufLoader*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<record name="PixbufModule" c:type="GdkPixbufModule">
|
|
<doc xml:space="preserve">A `GdkPixbufModule` contains the necessary functions to load and save
|
|
images in a certain file format.
|
|
|
|
If `GdkPixbuf` has been compiled with `GModule` support, it can be extended
|
|
by modules which can load (and perhaps also save) new image and animation
|
|
formats.
|
|
|
|
## Implementing modules
|
|
|
|
The `GdkPixbuf` interfaces needed for implementing modules are contained in
|
|
`gdk-pixbuf-io.h` (and `gdk-pixbuf-animation.h` if the module supports
|
|
animations). They are not covered by the same stability guarantees as the
|
|
regular GdkPixbuf API. To underline this fact, they are protected by the
|
|
`GDK_PIXBUF_ENABLE_BACKEND` pre-processor symbol.
|
|
|
|
Each loadable module must contain a `GdkPixbufModuleFillVtableFunc` function
|
|
named `fill_vtable`, which will get called when the module
|
|
is loaded and must set the function pointers of the `GdkPixbufModule`.
|
|
|
|
In order to make format-checking work before actually loading the modules
|
|
(which may require calling `dlopen` to load image libraries), modules export
|
|
their signatures (and other information) via the `fill_info` function. An
|
|
external utility, `gdk-pixbuf-query-loaders`, uses this to create a text
|
|
file containing a list of all available loaders and their signatures.
|
|
This file is then read at runtime by `GdkPixbuf` to obtain the list of
|
|
available loaders and their signatures.
|
|
|
|
Modules may only implement a subset of the functionality available via
|
|
`GdkPixbufModule`. If a particular functionality is not implemented, the
|
|
`fill_vtable` function will simply not set the corresponding
|
|
function pointers of the `GdkPixbufModule` structure. If a module supports
|
|
incremental loading (i.e. provides `begin_load`, `stop_load` and
|
|
`load_increment`), it doesn't have to implement `load`, since `GdkPixbuf`
|
|
can supply a generic `load` implementation wrapping the incremental loading.
|
|
|
|
## Installing modules
|
|
|
|
Installing a module is a two-step process:
|
|
|
|
- copy the module file(s) to the loader directory (normally
|
|
`$libdir/gdk-pixbuf-2.0/$version/loaders`, unless overridden by the
|
|
environment variable `GDK_PIXBUF_MODULEDIR`)
|
|
- call `gdk-pixbuf-query-loaders` to update the module file (normally
|
|
`$libdir/gdk-pixbuf-2.0/$version/loaders.cache`, unless overridden
|
|
by the environment variable `GDK_PIXBUF_MODULE_FILE`)</doc>
|
|
<field name="module_name" writable="1">
|
|
<doc xml:space="preserve">the name of the module, usually the same as the
|
|
usual file extension for images of this type, eg. "xpm", "jpeg" or "png".</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</field>
|
|
<field name="module_path" writable="1">
|
|
<doc xml:space="preserve">the path from which the module is loaded.</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</field>
|
|
<field name="module" writable="1">
|
|
<doc xml:space="preserve">the loaded `GModule`.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">a `GdkPixbufFormat` holding information about the module.</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</field>
|
|
<field name="load" writable="1">
|
|
<doc xml:space="preserve">loads an image from a file.</doc>
|
|
<type name="PixbufModuleLoadFunc" c:type="GdkPixbufModuleLoadFunc"/>
|
|
</field>
|
|
<field name="load_xpm_data" writable="1">
|
|
<doc xml:space="preserve">loads an image from data in memory.</doc>
|
|
<type name="PixbufModuleLoadXpmDataFunc" c:type="GdkPixbufModuleLoadXpmDataFunc"/>
|
|
</field>
|
|
<field name="begin_load" introspectable="0" writable="1">
|
|
<doc xml:space="preserve">begins an incremental load.</doc>
|
|
<type name="PixbufModuleBeginLoadFunc" c:type="GdkPixbufModuleBeginLoadFunc"/>
|
|
</field>
|
|
<field name="stop_load" writable="1">
|
|
<doc xml:space="preserve">stops an incremental load.</doc>
|
|
<type name="PixbufModuleStopLoadFunc" c:type="GdkPixbufModuleStopLoadFunc"/>
|
|
</field>
|
|
<field name="load_increment" writable="1">
|
|
<doc xml:space="preserve">continues an incremental load.</doc>
|
|
<type name="PixbufModuleIncrementLoadFunc" c:type="GdkPixbufModuleIncrementLoadFunc"/>
|
|
</field>
|
|
<field name="load_animation" writable="1">
|
|
<doc xml:space="preserve">loads an animation from a file.</doc>
|
|
<type name="PixbufModuleLoadAnimationFunc" c:type="GdkPixbufModuleLoadAnimationFunc"/>
|
|
</field>
|
|
<field name="save" writable="1">
|
|
<doc xml:space="preserve">saves a `GdkPixbuf` to a file.</doc>
|
|
<type name="PixbufModuleSaveFunc" c:type="GdkPixbufModuleSaveFunc"/>
|
|
</field>
|
|
<field name="save_to_callback" introspectable="0" writable="1">
|
|
<doc xml:space="preserve">saves a `GdkPixbuf` by calling the given `GdkPixbufSaveFunc`.</doc>
|
|
<type name="PixbufModuleSaveCallbackFunc" c:type="GdkPixbufModuleSaveCallbackFunc"/>
|
|
</field>
|
|
<field name="is_save_option_supported" writable="1">
|
|
<doc xml:space="preserve">returns whether a save option key is supported by the module</doc>
|
|
<type name="PixbufModuleSaveOptionSupportedFunc" c:type="GdkPixbufModuleSaveOptionSupportedFunc"/>
|
|
</field>
|
|
<field name="_reserved1" introspectable="0">
|
|
<callback name="_reserved1">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_reserved2" introspectable="0">
|
|
<callback name="_reserved2">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_reserved3" introspectable="0">
|
|
<callback name="_reserved3">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_reserved4" introspectable="0">
|
|
<callback name="_reserved4">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<callback name="PixbufModuleBeginLoadFunc" c:type="GdkPixbufModuleBeginLoadFunc" introspectable="0" throws="1">
|
|
<doc xml:space="preserve">Sets up the image loading state.
|
|
|
|
The image loader is responsible for storing the given function pointers
|
|
and user data, and call them when needed.
|
|
|
|
The image loader should set up an internal state object, and return it
|
|
from this function; the state object will then be updated from the
|
|
[callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] callback, and will be freed
|
|
by [callback@GdkPixbuf.PixbufModuleStopLoadFunc] callback.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the data to be passed to
|
|
[callback@GdkPixbuf.PixbufModuleIncrementLoadFunc]
|
|
and [callback@GdkPixbuf.PixbufModuleStopLoadFunc], or `NULL` in case of error</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size_func" transfer-ownership="none">
|
|
<doc xml:space="preserve">the function to be called when the size is known</doc>
|
|
<type name="PixbufModuleSizeFunc" c:type="GdkPixbufModuleSizeFunc"/>
|
|
</parameter>
|
|
<parameter name="prepared_func" transfer-ownership="none">
|
|
<doc xml:space="preserve">the function to be called when the data has been prepared</doc>
|
|
<type name="PixbufModulePreparedFunc" c:type="GdkPixbufModulePreparedFunc"/>
|
|
</parameter>
|
|
<parameter name="updated_func" transfer-ownership="none" closure="3">
|
|
<doc xml:space="preserve">the function to be called when the data has been updated</doc>
|
|
<type name="PixbufModuleUpdatedFunc" c:type="GdkPixbufModuleUpdatedFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
|
|
<doc xml:space="preserve">the data to be passed to the functions</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleFillInfoFunc" c:type="GdkPixbufModuleFillInfoFunc" version="2.2">
|
|
<doc xml:space="preserve">Defines the type of the function used to fill a
|
|
#GdkPixbufFormat structure with information about a module.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufFormat.</doc>
|
|
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleFillVtableFunc" c:type="GdkPixbufModuleFillVtableFunc" version="2.2">
|
|
<doc xml:space="preserve">Defines the type of the function used to set the vtable of a
|
|
#GdkPixbufModule when it is loaded.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="module" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufModule.</doc>
|
|
<type name="PixbufModule" c:type="GdkPixbufModule*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleIncrementLoadFunc" c:type="GdkPixbufModuleIncrementLoadFunc" throws="1">
|
|
<doc xml:space="preserve">Incrementally loads a buffer into the image data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the incremental load was successful</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc]</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the data to load</doc>
|
|
<array length="2" zero-terminated="0" c:type="const guchar*">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length of the data to load</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleLoadAnimationFunc" c:type="GdkPixbufModuleLoadAnimationFunc" throws="1">
|
|
<doc xml:space="preserve">Loads a file from a standard C file stream into a new `GdkPixbufAnimation`.
|
|
|
|
In case of error, this function should return `NULL` and set the `error` argument.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly created `GdkPixbufAnimation` for the contents of the file</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="f" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the file stream from which the image should be loaded</doc>
|
|
<type name="gpointer" c:type="FILE*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleLoadFunc" c:type="GdkPixbufModuleLoadFunc" throws="1">
|
|
<doc xml:space="preserve">Loads a file from a standard C file stream into a new `GdkPixbuf`.
|
|
|
|
In case of error, this function should return `NULL` and set the `error` argument.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly created `GdkPixbuf` for the contents of the file</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="f" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the file stream from which the image should be loaded</doc>
|
|
<type name="gpointer" c:type="FILE*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleLoadXpmDataFunc" c:type="GdkPixbufModuleLoadXpmDataFunc">
|
|
<doc xml:space="preserve">Loads XPM data into a new `GdkPixbuf`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly created `GdkPixbuf` for the XPM data</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">the XPM data</doc>
|
|
<array c:type="const char**">
|
|
<type name="utf8" c:type="char*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="PixbufModulePattern" c:type="GdkPixbufModulePattern" version="2.2">
|
|
<doc xml:space="preserve">The signature prefix for a module.
|
|
|
|
The signature of a module is a set of prefixes. Prefixes are encoded as
|
|
pairs of ordinary strings, where the second string, called the mask, if
|
|
not `NULL`, must be of the same length as the first one and may contain
|
|
' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched,
|
|
not matched, "don't-care"-bytes, zeros and non-zeros, respectively.
|
|
|
|
Each prefix has an associated integer that describes the relevance of
|
|
the prefix, with 0 meaning a mismatch and 100 a "perfect match".
|
|
|
|
Starting with gdk-pixbuf 2.8, the first byte of the mask may be '*',
|
|
indicating an unanchored pattern that matches not only at the beginning,
|
|
but also in the middle. Versions prior to 2.8 will interpret the '*'
|
|
like an 'x'.
|
|
|
|
The signature of a module is stored as an array of
|
|
`GdkPixbufModulePatterns`. The array is terminated by a pattern
|
|
where the `prefix` is `NULL`.
|
|
|
|
```c
|
|
GdkPixbufModulePattern *signature[] = {
|
|
{ "abcdx", " !x z", 100 },
|
|
{ "bla", NULL, 90 },
|
|
{ NULL, NULL, 0 }
|
|
};
|
|
```
|
|
|
|
In the example above, the signature matches e.g. "auud\0" with
|
|
relevance 100, and "blau" with relevance 90.</doc>
|
|
<field name="prefix" writable="1">
|
|
<doc xml:space="preserve">the prefix for this pattern</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</field>
|
|
<field name="mask" writable="1">
|
|
<doc xml:space="preserve">mask containing bytes which modify how the prefix is matched against
|
|
test data</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</field>
|
|
<field name="relevance" writable="1">
|
|
<doc xml:space="preserve">relevance of this pattern</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
</record>
|
|
<callback name="PixbufModulePreparedFunc" c:type="GdkPixbufModulePreparedFunc" version="2.2">
|
|
<doc xml:space="preserve">Defines the type of the function that gets called once the initial
|
|
setup of @pixbuf is done.
|
|
|
|
#GdkPixbufLoader uses a function of this type to emit the
|
|
"<link linkend="GdkPixbufLoader-area-prepared">area_prepared</link>"
|
|
signal.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GdkPixbuf that is currently being loaded.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="anim" transfer-ownership="none">
|
|
<doc xml:space="preserve">if an animation is being loaded, the #GdkPixbufAnimation, else %NULL.</doc>
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">the loader.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleSaveCallbackFunc" c:type="GdkPixbufModuleSaveCallbackFunc" introspectable="0" throws="1">
|
|
<doc xml:space="preserve">Saves a `GdkPixbuf` by calling the provided function.
|
|
|
|
The optional `option_keys` and `option_values` arrays contain the keys and
|
|
values (in the same order) for attributes to be saved alongside the image
|
|
data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` on success; in case of failure, `FALSE` is returned and
|
|
the `error` is set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="save_func" transfer-ownership="none" closure="1">
|
|
<doc xml:space="preserve">the function to call when saving</doc>
|
|
<type name="PixbufSaveFunc" c:type="GdkPixbufSaveFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">the data to pass to @save_func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `GdkPixbuf` to save</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an array of option names</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an array of option values</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleSaveFunc" c:type="GdkPixbufModuleSaveFunc" throws="1">
|
|
<doc xml:space="preserve">Saves a `GdkPixbuf` into a standard C file stream.
|
|
|
|
The optional `param_keys` and `param_values` arrays contain the keys and
|
|
values (in the same order) for attributes to be saved alongside the image
|
|
data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` on success; in case of failure, `FALSE` is returned and
|
|
the `error` is set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="f" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the file stream into which the image should be saved</doc>
|
|
<type name="gpointer" c:type="FILE*"/>
|
|
</parameter>
|
|
<parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the image to save</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="param_keys" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameter keys to save</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="param_values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameter values to save</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleSaveOptionSupportedFunc" c:type="GdkPixbufModuleSaveOptionSupportedFunc">
|
|
<doc xml:space="preserve">Checks whether the given `option_key` is supported when saving.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the option is supported</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="option_key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the option key to check</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleSizeFunc" c:type="GdkPixbufModuleSizeFunc" version="2.2">
|
|
<doc xml:space="preserve">Defines the type of the function that gets called once the size
|
|
of the loaded image is known.
|
|
|
|
The function is expected to set @width and @height to the desired
|
|
size to which the image should be scaled. If a module has no efficient
|
|
way to achieve the desired scaling during the loading of the image, it may
|
|
either ignore the size request, or only approximate it - gdk-pixbuf will
|
|
then perform the required scaling on the completely loaded image.
|
|
|
|
If the function sets @width or @height to zero, the module should interpret
|
|
this as a hint that it will be closed soon and shouldn't allocate further
|
|
resources. This convention is used to implement gdk_pixbuf_get_file_info()
|
|
efficiently.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a location containing the current image width</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a location containing the current image height</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">the loader.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleStopLoadFunc" c:type="GdkPixbufModuleStopLoadFunc" throws="1">
|
|
<doc xml:space="preserve">Finalizes the image loading state.
|
|
|
|
This function is called on success and error states.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if the loading operation was successful</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc]</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PixbufModuleUpdatedFunc" c:type="GdkPixbufModuleUpdatedFunc" version="2.2">
|
|
<doc xml:space="preserve">Defines the type of the function that gets called every time a region
|
|
of @pixbuf is updated.
|
|
|
|
#GdkPixbufLoader uses a function of this type to emit the
|
|
"<link linkend="GdkPixbufLoader-area-updated">area_updated</link>"
|
|
signal.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GdkPixbuf that is currently being loaded.</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the X origin of the updated area.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the Y origin of the updated area.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the updated area.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the updated area.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5">
|
|
<doc xml:space="preserve">the loader.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="PixbufNonAnim" c:symbol-prefix="pixbuf_non_anim" parent="PixbufAnimation" glib:type-name="GdkPixbufNonAnim" glib:get-type="gdk_pixbuf_non_anim_get_type">
|
|
<constructor name="new" c:identifier="gdk_pixbuf_non_anim_new">
|
|
<return-value transfer-ownership="full">
|
|
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pixbuf" transfer-ownership="none">
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
</class>
|
|
<enumeration name="PixbufRotation" glib:type-name="GdkPixbufRotation" glib:get-type="gdk_pixbuf_rotation_get_type" c:type="GdkPixbufRotation">
|
|
<doc xml:space="preserve">The possible rotations which can be passed to gdk_pixbuf_rotate_simple().
|
|
|
|
To make them easier to use, their numerical values are the actual degrees.</doc>
|
|
<member name="none" value="0" c:identifier="GDK_PIXBUF_ROTATE_NONE" glib:nick="none" glib:name="GDK_PIXBUF_ROTATE_NONE">
|
|
<doc xml:space="preserve">No rotation.</doc>
|
|
</member>
|
|
<member name="counterclockwise" value="90" c:identifier="GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE" glib:nick="counterclockwise" glib:name="GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE">
|
|
<doc xml:space="preserve">Rotate by 90 degrees.</doc>
|
|
</member>
|
|
<member name="upsidedown" value="180" c:identifier="GDK_PIXBUF_ROTATE_UPSIDEDOWN" glib:nick="upsidedown" glib:name="GDK_PIXBUF_ROTATE_UPSIDEDOWN">
|
|
<doc xml:space="preserve">Rotate by 180 degrees.</doc>
|
|
</member>
|
|
<member name="clockwise" value="270" c:identifier="GDK_PIXBUF_ROTATE_CLOCKWISE" glib:nick="clockwise" glib:name="GDK_PIXBUF_ROTATE_CLOCKWISE">
|
|
<doc xml:space="preserve">Rotate by 270 degrees.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="PixbufSaveFunc" c:type="GdkPixbufSaveFunc" version="2.4">
|
|
<doc xml:space="preserve">Save functions used by [method@GdkPixbuf.Pixbuf.save_to_callback].
|
|
|
|
This function is called once for each block of bytes that is "written"
|
|
by `gdk_pixbuf_save_to_callback()`.
|
|
|
|
If successful it should return `TRUE`; if an error occurs it should set
|
|
`error` and return `FALSE`, in which case `gdk_pixbuf_save_to_callback()`
|
|
will fail with the same error.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if successful, `FALSE` otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">bytes to be written.</doc>
|
|
<array length="1" zero-terminated="0" c:type="const gchar*">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="count" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of bytes in @buf.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="error" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A location to return an error.</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
|
|
<doc xml:space="preserve">user data passed to gdk_pixbuf_save_to_callback().</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="PixbufSimpleAnim" c:symbol-prefix="pixbuf_simple_anim" c:type="GdkPixbufSimpleAnim" parent="PixbufAnimation" glib:type-name="GdkPixbufSimpleAnim" glib:get-type="gdk_pixbuf_simple_anim_get_type" glib:type-struct="PixbufSimpleAnimClass">
|
|
<doc xml:space="preserve">An opaque struct representing a simple animation.</doc>
|
|
<constructor name="new" c:identifier="gdk_pixbuf_simple_anim_new" version="2.8">
|
|
<doc xml:space="preserve">Creates a new, empty animation.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GdkPixbufSimpleAnim</doc>
|
|
<type name="PixbufSimpleAnim" c:type="GdkPixbufSimpleAnim*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the animation</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the animation</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the speed of the animation, in frames per second</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_frame" c:identifier="gdk_pixbuf_simple_anim_add_frame" version="2.8">
|
|
<doc xml:space="preserve">Adds a new frame to @animation. The @pixbuf must
|
|
have the dimensions specified when the animation
|
|
was constructed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufSimpleAnim</doc>
|
|
<type name="PixbufSimpleAnim" c:type="GdkPixbufSimpleAnim*"/>
|
|
</instance-parameter>
|
|
<parameter name="pixbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pixbuf to add</doc>
|
|
<type name="Pixbuf" c:type="GdkPixbuf*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_loop" c:identifier="gdk_pixbuf_simple_anim_get_loop" glib:get-property="loop" version="2.18">
|
|
<doc xml:space="preserve">Gets whether @animation should loop indefinitely when it reaches the end.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the animation loops forever, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufSimpleAnim</doc>
|
|
<type name="PixbufSimpleAnim" c:type="GdkPixbufSimpleAnim*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_loop" c:identifier="gdk_pixbuf_simple_anim_set_loop" glib:set-property="loop" version="2.18">
|
|
<doc xml:space="preserve">Sets whether @animation should loop indefinitely when it reaches the end.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="animation" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GdkPixbufSimpleAnim</doc>
|
|
<type name="PixbufSimpleAnim" c:type="GdkPixbufSimpleAnim*"/>
|
|
</instance-parameter>
|
|
<parameter name="loop" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to loop the animation</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="loop" version="2.18" writable="1" transfer-ownership="none" setter="set_loop" getter="get_loop">
|
|
<doc xml:space="preserve">Whether the animation should loop when it reaches the end.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
</class>
|
|
<record name="PixbufSimpleAnimClass" c:type="GdkPixbufSimpleAnimClass" disguised="1" glib:is-gtype-struct-for="PixbufSimpleAnim"/>
|
|
<class name="PixbufSimpleAnimIter" c:symbol-prefix="pixbuf_simple_anim_iter" parent="PixbufAnimationIter" glib:type-name="GdkPixbufSimpleAnimIter" glib:get-type="gdk_pixbuf_simple_anim_iter_get_type">
|
|
</class>
|
|
<function name="pixbuf_error_quark" c:identifier="gdk_pixbuf_error_quark" moved-to="PixbufError.quark">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</namespace>
|
|
</repository>
|