diff --git a/GdkPixbuf-2.0.gir b/GdkPixbuf-2.0.gir
index 105112c..1205f61 100644
--- a/GdkPixbuf-2.0.gir
+++ b/GdkPixbuf-2.0.gir
@@ -359,13 +359,13 @@ interpolation is just as fast and results in higher quality.
-
+
Micro version of gdk-pixbuf library, that is the "2" in
"0.8.2" for example.
-
+
Minor version of gdk-pixbuf library, that is the "8" in
"0.8.2" for example.
@@ -392,7 +392,7 @@ interpolation is just as fast and results in higher quality.
-
+
Contains the full version of the gdk-pixbuf header as a string.
This is the version being compiled against; contrast with
#gdk_pixbuf_version.
@@ -2534,7 +2534,7 @@ be at least as large as the width of the pixbuf.
-
+
These values can be passed to
gdk_pixbuf_xlib_render_to_drawable_alpha() to control how the alpha
channel of an image should be handled. This function can create a
@@ -2543,6 +2543,7 @@ 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.
+ it is unused since 2.42.
A bilevel clipping mask (black and white)
will be created and used to draw the image. Pixels below 0.5 opacity
@@ -2554,8 +2555,9 @@ back to a bilevel clipping mask.
In the future it will do full alpha compositing.
-
+
An opaque struct representing an animation.
+
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
@@ -2674,6 +2676,109 @@ result of the operation.
+
+ Get an iterator for displaying an animation. The iterator provides
+the frames that should be displayed at a given time. It should be
+freed after use with g_object_unref().
+
+@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."
+
+
+ an iterator to move over the animation
+
+
+
+
+ a #GdkPixbufAnimation
+
+
+
+ time when the animation starts playing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 thing to display as a static
+unanimated image, which might be the first frame, or something more
+sophisticated. If an animation hasn't loaded any frames yet, this
+function will return %NULL.
+
+
+ unanimated image representing the animation
+
+
+
+
+ a #GdkPixbufAnimation
+
+
+
+
+
+ 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.
+
+
+ %TRUE if the "animation" was really just an image
+
+
+
+
+ a #GdkPixbufAnimation
+
+
+
+
Queries the height of the bounding box of a pixbuf animation.
@@ -2817,10 +2922,191 @@ the image.
+
+
+
-
+
+ Modules supporting animations must derive a type from
+#GdkPixbufAnimation, providing suitable implementations of the
+virtual functions.
+
+
+ the parent class
+
+
+
+
+
+
+ %TRUE if the "animation" was really just an image
+
+
+
+
+ a #GdkPixbufAnimation
+
+
+
+
+
+
+
+
+
+ unanimated image representing the animation
+
+
+
+
+ a #GdkPixbufAnimation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an iterator to move over the animation
+
+
+
+
+ a #GdkPixbufAnimation
+
+
+
+ time when the animation starts playing
+
+
+
+
+
+
+
An opaque struct representing an iterator which points to a
certain position in an animation.
+
+
+ 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.
+
+
+ %TRUE if the image may need updating
+
+
+
+
+ a #GdkPixbufAnimationIter
+
+
+
+ current time
+
+
+
+
+
+ Gets the number of milliseconds the current pixbuf should be displayed,
+or -1 if the current pixbuf should be displayed forever. g_timeout_add()
+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.
+
+
+ delay time in milliseconds (thousandths of a second)
+
+
+
+
+ an animation iterator
+
+
+
+
+
+ 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.
+
+
+ the pixbuf to be displayed
+
+
+
+
+ an animation iterator
+
+
+
+
+
+ Used to determine how to respond to the area_updated signal on
+#GdkPixbufLoader when loading an animation. area_updated is emitted
+for an area of the frame currently streaming in to the loader. So if
+you're on the currently loading frame, you need to redraw the screen for
+the updated area.
+
+
+ %TRUE if the frame we're on is partially loaded, or the last frame
+
+
+
+
+ a #GdkPixbufAnimationIter
+
+
+
+
Possibly advances an animation to a new frame. Chooses the frame based
on the start time passed to gdk_pixbuf_animation_get_iter().
@@ -2920,7 +3206,84 @@ the updated area.
+
+
+
+
+ Modules supporting animations must derive a type from
+#GdkPixbufAnimationIter, providing suitable implementations of the
+virtual functions.
+
+
+ the parent class
+
+
+
+
+
+
+ delay time in milliseconds (thousandths of a second)
+
+
+
+
+ an animation iterator
+
+
+
+
+
+
+
+
+
+ the pixbuf to be displayed
+
+
+
+
+ an animation iterator
+
+
+
+
+
+
+
+
+
+ %TRUE if the frame we're on is partially loaded, or the last frame
+
+
+
+
+ a #GdkPixbufAnimationIter
+
+
+
+
+
+
+
+
+
+ %TRUE if the image may need updating
+
+
+
+
+ a #GdkPixbufAnimationIter
+
+
+
+ current time
+
+
+
+
+
+
A function of this type is responsible for freeing the pixel array
of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
@@ -2978,8 +3341,49 @@ domain.
-
+
+ A #GdkPixbufFormat contains information about the image format accepted by a
+module. Only modules should access the fields directly, applications should
+use the <function>gdk_pixbuf_format_*</function> functions.
+
+ the name of the image format.
+
+
+
+ the signature of the module.
+
+
+
+ the message domain for the @description.
+
+
+
+ a description of the image format.
+
+
+
+ a %NULL-terminated array of MIME types for the image format.
+
+
+
+ a %NULL-terminated array of typical filename extensions for the
+ image format.
+
+
+
+ a combination of #GdkPixbufFormatFlags.
+
+
+
+ a boolean determining whether the loader is disabled.
+
+
+
+ a string containing license information, typically set to
+ shorthands like "GPL", "LGPL", etc.
+
+
Creates a copy of @format
@@ -3176,6 +3580,21 @@ with an inappropriate license, see gdk_pixbuf_format_get_license().
+
+ Flags which allow a module to specify further details about the supported
+operations.
+
+
+ the module can write out images in the format.
+
+
+ the image format is scalable
+
+
+ the module is threadsafe. gdk-pixbuf
+ ignores modules that are not marked as threadsafe. (Since 2.28).
+
+
The GdkPixbufLoader struct contains only private
fields.
@@ -3620,6 +4039,399 @@ the desired size to which the image should be scaled.
+
+ A #GdkPixbufModule contains the necessary functions to load and save
+images in a certain file format.
+
+A #GdkPixbufModule can be loaded dynamically from a #GModule.
+Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
+named <function>fill_vtable</function>, which will get called when the module
+is loaded and must set the function pointers of the #GdkPixbufModule.
+
+
+ the name of the module, usually the same as the
+ usual file extension for images of this type, eg. "xpm", "jpeg" or "png".
+
+
+
+ the path from which the module is loaded.
+
+
+
+ the loaded #GModule.
+
+
+
+ a #GdkPixbufFormat holding information about the module.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines the type of the function used to fill a
+#GdkPixbufFormat structure with information about a module.
+
+
+
+
+
+
+ a #GdkPixbufFormat.
+
+
+
+
+
+ Defines the type of the function used to set the vtable of a
+#GdkPixbufModule when it is loaded.
+
+
+
+
+
+
+ a #GdkPixbufModule.
+
+
+
+
+
+ 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.
+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.
+
+
+<informalexample><programlisting>
+GdkPixbufModulePattern *signature[] = {
+ { "abcdx", " !x z", 100 },
+ { "bla", NULL, 90 },
+ { NULL, NULL, 0 }
+};
+</programlisting>
+The example matches e.g. "auud\0" with relevance 100, and "blau" with
+relevance 90.</informalexample>
+
+
+ the prefix for this pattern
+
+
+
+ mask containing bytes which modify how the prefix is matched against
+ test data
+
+
+
+ relevance of this pattern
+
+
+
+
+ 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.
+
+
+
+
+
+
+ the #GdkPixbuf that is currently being loaded.
+
+
+
+ if an animation is being loaded, the #GdkPixbufAnimation, else %NULL.
+
+
+
+ the loader.
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+ pointer to a location containing the current image width
+
+
+
+ pointer to a location containing the current image height
+
+
+
+ the loader.
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+ the #GdkPixbuf that is currently being loaded.
+
+
+
+ the X origin of the updated area.
+
+
+
+ the Y origin of the updated area.
+
+
+
+ the width of the updated area.
+
+
+
+ the height of the updated area.
+
+
+
+ the loader.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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.