GdkPixbuf.PixbufModule¶
Fields¶
Name |
Type |
Access |
Description |
---|---|---|---|
begin_load |
r/w |
begins an incremental load. |
|
info |
r/w |
a |
|
is_save_option_supported |
r/w |
returns whether a save option key is supported by the module |
|
load |
r/w |
loads an image from a file. |
|
load_animation |
r/w |
loads an animation from a file. |
|
load_increment |
r/w |
continues an incremental load. |
|
load_xpm_data |
r/w |
loads an image from data in memory. |
|
module |
r/w |
the loaded |
|
module_name |
r/w |
the name of the module, usually the same as the usual file extension for images of this type, eg. “xpm”, “jpeg” or “png”. |
|
module_path |
r/w |
the path from which the module is loaded. |
|
save |
r/w |
saves a |
|
save_to_callback |
r/w |
saves a |
|
stop_load |
r/w |
stops an incremental load. |
Methods¶
None
Details¶
- class GdkPixbuf.PixbufModule¶
A
GdkPixbufModule
contains the necessary functions to load and save images in a certain file format.If
GdkPixbuf
has been compiled withGModule
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 ingdk-pixbuf-io.h
(andgdk-pixbuf-animation.h
if the module supports animations). They are not covered by the same stability guarantees as the regularGdkPixbuf.Pixbuf
API. To underline this fact, they are protected by theGDK_PIXBUF_ENABLE_BACKEND
pre-processor symbol.Each loadable module must contain a
GdkPixbufModuleFillVtableFunc
function namedfill_vtable
, which will get called when the module is loaded and must set the function pointers of theGdkPixbufModule
.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 thefill_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 byGdkPixbuf
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, thefill_vtable
function will simply not set the corresponding function pointers of theGdkPixbufModule
structure. If a module supports incremental loading (i.e. providesbegin_load
,stop_load
andload_increment
), it doesn’t have to implementload
, sinceGdkPixbuf
can supply a genericload
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 variableGDK_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 variableGDK_PIXBUF_MODULE_FILE
)