mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-10-04 13:07:34 +00:00
6e3522ab2c
2000-01-01 Federico Mena Quintero <federico@helixcode.com> * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference counting to animations. A web browser may want to share a single copy of an animated GIF if it appears multiple times in a web page, for example. * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the animation functions here. (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL animation if the loader does not support multiframe loading and the single-frame load returned NULL. Check that the filename is not NULL. Updated inline documentation. (gdk_pixbuf_animation_ref): New function. (gdk_pixbuf_animation_unref): New function. Removed gdk_pixbuf_animation_destroy() in favor of reference counting. * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Prettified. Made ref_count assertion more paranoid. Check that the filename is not NULL. (gdk_pixbuf_get_module): Use guchar * and guint for buffer and size, respectively. (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to const char **. * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation with a reference count of 1. * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-animation.c. * doc/tmpl/animation.sgml: Populated. It is still missing a description of the overlay modes. * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved the canvas item section to the end, as it will be moved later to gnome-libs. * doc/gdk-pixbuf.sgml: Added the animation section. * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
115 lines
2.6 KiB
Plaintext
115 lines
2.6 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
Rendering
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Rendering a pixbuf to a GDK drawable.
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
The GdkPixbuf library provides several convenience functions to
|
|
render pixbufs to GDK drawables. It uses the GdkRGB to render the
|
|
image data.
|
|
</para>
|
|
|
|
<para>
|
|
At this point there is not a standard alpha channel extension for
|
|
the X Window System, so it is not possible to use full opacity
|
|
information when painting images to arbitrary drawables. The
|
|
GdkPixbuf convenience functions will threshold the opacity
|
|
information to create a bi-level clipping mask (black and white),
|
|
and use that to draw the image onto a drawable.
|
|
</para>
|
|
|
|
<important>
|
|
<para>
|
|
Since these functions use GdkRGB for rendering, you must
|
|
initialize GdkRGB before using any of them. You can do this by
|
|
calling gdk_rgb_init() near the beginning of your program.
|
|
</para>
|
|
</important>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
GdkRGB
|
|
</para>
|
|
|
|
<!-- ##### ENUM GdkPixbufAlphaMode ##### -->
|
|
<para>
|
|
These values can be passed to
|
|
gdk_pixbuf_render_to_drawable_alpha() to control how the alpha
|
|
chanel 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.
|
|
</para>
|
|
|
|
@GDK_PIXBUF_ALPHA_BILEVEL: 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.
|
|
@GDK_PIXBUF_ALPHA_FULL: For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
|
|
In the future it will do full alpha compositing.
|
|
|
|
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable_alpha ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@pixbuf:
|
|
@drawable:
|
|
@src_x:
|
|
@src_y:
|
|
@dest_x:
|
|
@dest_y:
|
|
@width:
|
|
@height:
|
|
@alpha_mode:
|
|
@alpha_threshold:
|
|
@dither:
|
|
@x_dither:
|
|
@y_dither:
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@pixbuf:
|
|
@drawable:
|
|
@gc:
|
|
@src_x:
|
|
@src_y:
|
|
@dest_x:
|
|
@dest_y:
|
|
@width:
|
|
@height:
|
|
@dither:
|
|
@x_dither:
|
|
@y_dither:
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_pixbuf_render_threshold_alpha ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@pixbuf:
|
|
@bitmap:
|
|
@src_x:
|
|
@src_y:
|
|
@dest_x:
|
|
@dest_y:
|
|
@width:
|
|
@height:
|
|
@alpha_threshold: <!--
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
|
End:
|
|
-->
|
|
|
|
|