Extensions to gdk-pixbuf

Extensions to gdk-pixbuf — Miscelleanous extensions to the gdk-pixbuf library

Synopsis

#include <exo/exo.h>

GdkPixbuf *         exo_gdk_pixbuf_colorize             (const GdkPixbuf *source,
                                                         const GdkColor *color);
GdkPixbuf *         exo_gdk_pixbuf_frame                (const GdkPixbuf *source,
                                                         const GdkPixbuf *frame,
                                                         gint left_offset,
                                                         gint top_offset,
                                                         gint right_offset,
                                                         gint bottom_offset);
GdkPixbuf *         exo_gdk_pixbuf_lucent               (const GdkPixbuf *source,
                                                         guint percent);
GdkPixbuf *         exo_gdk_pixbuf_spotlight            (const GdkPixbuf *source);
GdkPixbuf *         exo_gdk_pixbuf_scale_down           (GdkPixbuf *source,
                                                         gboolean preserve_aspect_ratio,
                                                         gint dest_width,
                                                         gint dest_height);
GdkPixbuf *         exo_gdk_pixbuf_scale_ratio          (GdkPixbuf *source,
                                                         gint dest_size);
GdkPixbuf *         exo_gdk_pixbuf_new_from_file_at_max_size
                                                        (const gchar *filename,
                                                         gint max_width,
                                                         gint max_height,
                                                         gboolean preserve_aspect_ratio,
                                                         GError **error);

Description

This facility includes several functions to extend the basic functionality provided by the gdk-pixbuf library.

Details

exo_gdk_pixbuf_colorize ()

GdkPixbuf *         exo_gdk_pixbuf_colorize             (const GdkPixbuf *source,
                                                         const GdkColor *color);

Creates a new GdkPixbuf based on source, which is colorized to color.

The caller is responsible to free the returned object using g_object_unref() when no longer needed.

source :

the source GdkPixbuf.

color :

the new color.

Returns :

the colorized GdkPixbuf.

Since 0.3.1.3


exo_gdk_pixbuf_frame ()

GdkPixbuf *         exo_gdk_pixbuf_frame                (const GdkPixbuf *source,
                                                         const GdkPixbuf *frame,
                                                         gint left_offset,
                                                         gint top_offset,
                                                         gint right_offset,
                                                         gint bottom_offset);

Embeds source in frame and returns the result as new GdkPixbuf.

The caller is responsible to free the returned GdkPixbuf using g_object_unref().

source :

the source GdkPixbuf.

frame :

the frame GdkPixbuf.

left_offset :

the left frame offset.

top_offset :

the top frame offset.

right_offset :

the right frame offset.

bottom_offset :

the bottom frame offset.

Returns :

the framed version of source.

Since 0.3.1.9


exo_gdk_pixbuf_lucent ()

GdkPixbuf *         exo_gdk_pixbuf_lucent               (const GdkPixbuf *source,
                                                         guint percent);

Returns a version of source, whose pixels translucency is percent of the original source pixels.

The caller is responsible to free the returned object using g_object_unref() when no longer needed.

source :

the source GdkPixbuf.

percent :

the percentage of translucency.

Returns :

a translucent version of source.

Since 0.3.1.3


exo_gdk_pixbuf_spotlight ()

GdkPixbuf *         exo_gdk_pixbuf_spotlight            (const GdkPixbuf *source);

Creates a lightened version of source, suitable for prelit state display of icons.

The caller is responsible to free the returned pixbuf using #g_object_unref().

source :

the source GdkPixbuf.

Returns :

the lightened version of source.

Since 0.3.1.3


exo_gdk_pixbuf_scale_down ()

GdkPixbuf *         exo_gdk_pixbuf_scale_down           (GdkPixbuf *source,
                                                         gboolean preserve_aspect_ratio,
                                                         gint dest_width,
                                                         gint dest_height);

Scales down the source to fit into the given width and height. If aspect_ratio is TRUE then the aspect ratio of source will be preserved.

If width is larger than the width of source and height is larger than the height of source, a reference to source will be returned, as it's unneccesary then to scale down.

The caller is responsible to free the returned GdkPixbuf using g_object_unref() when no longer needed.

source :

the source GdkPixbuf.

preserve_aspect_ratio :

TRUE to preserve aspect ratio.

dest_width :

the max width for the result.

dest_height :

the max height for the result.

Returns :

the resulting GdkPixbuf.

Since 0.3.1.1


exo_gdk_pixbuf_scale_ratio ()

GdkPixbuf *         exo_gdk_pixbuf_scale_ratio          (GdkPixbuf *source,
                                                         gint dest_size);

Scales source to dest_size while preserving the aspect ratio of source.

source :

The source GdkPixbuf.

dest_size :

The target size in pixel.

Returns :

A newly created GdkPixbuf.

exo_gdk_pixbuf_new_from_file_at_max_size ()

GdkPixbuf *         exo_gdk_pixbuf_new_from_file_at_max_size
                                                        (const gchar *filename,
                                                         gint max_width,
                                                         gint max_height,
                                                         gboolean preserve_aspect_ratio,
                                                         GError **error);

Creates a new GdkPixbuf by loading an image from the file at filename. The file format is detected automatically. If NULL is returned, then error will be set. Possible errors are in the GDK_PIXBUF_ERROR and G_FILE_ERROR domains. If the image dimensions exceed max_width or max_height, the image will be scaled down to fit into the dimensions, optionally preservingthe image's aspect ratio. The image may still be larger, depending on the loader.

The advantage of using this function over gdk_pixbuf_new_from_file_at_scale() is that images will never be scaled up, whichwould otherwise result in ugly images.

filename :

name of the file to load, in the GLib file name encoding.

max_width :

the maximum width of the loaded image.

max_height :

the maximum height of the loaded image.

preserve_aspect_ratio :

TRUE to preserve the image's aspect ratio while scaling to fit into max_width and max_height.

error :

return location for errors or NULL.

Returns :

a newly created GdkPixbuf with a reference count or 1, or NULL if any of several error conditions occurred: the file could not be opened, there was no loader for the file's format, there was not enough memory to allocate the buffer for the image, or the image file contained invalid data.

Since 0.3.1.9