| gdk-pixbuf-Module-Interface {RGtk2} | R Documentation |
Extending
gdkPixbufSetOption(object, key, value)
gdkPixbufGetFormats()
gdkPixbufFormatGetName(object)
gdkPixbufFormatGetDescription(object)
gdkPixbufFormatGetMimeTypes(object)
gdkPixbufFormatGetExtensions(object)
gdkPixbufFormatIsWritable(object)
gdkPixbufFormatIsScalable(object)
gdkPixbufFormatIsDisabled(object)
gdkPixbufFormatSetDisabled(object, disabled)
gdkPixbufFormatGetLicense(object)
If gdk-pixbuf has been compiled with GModule support, it can be extended by
modules which can load (and perhaps also save) new image and animation
formats. Each loadable module must export a
GdkPixbufModuleFillInfoFunc function named fillInfo and
a GdkPixbufModuleFillVtableFunc function named
fillVtable.
In order to make format-checking work before actually loading the modules
(which may require dlopening image libraries), modules export their
signatures (and other information) via the fillInfo
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 gdk-pixbuf 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
fillVtable 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 gdk-pixbuf can
supply a generic load implementation wrapping the incremental loading.
Installing a module is a two-step process:
gdk-pixbuf-query-loaders to update the
module file (normally
‘sysconfdir’,
unless overridden by the environment variable
GDK_PIXBUF_MODULE_FILE)
The gdk-pixbuf 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
gdk-pixbuf API. To underline this fact, they are protected by
#ifdef GDK_PIXBUF_ENABLE_BACKEND.
GdkPixbufFormatGdkPixbufFormat contains information about the image format accepted by a
module. Only modules should access the fields directly, applications should
use the gdkPixbufFormat* functions.
Since 2.2
namesignaturedomaindescription.descriptionmime_typesextensionsflagsGdkPixbufFormatFlags.disabledlicense
GdkPixbufModuleFillVtableFunc(module)GdkPixbufModule when it is loaded.
Since 2.2
moduleGdkPixbufModule.
GdkPixbufModuleFillInfoFunc(info)GdkPixbufFormat structure with information about a module.
Since 2.2
infoGdkPixbufFormat] a GdkPixbufFormat.
GdkPixbufModuleSizeFunc(width, height, user.data)
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 gdkPixbufGetFileInfo
efficiently.
Since 2.2
widthheightuser.data
GdkPixbufModulePreparedFunc(pixbuf, anim, user.data)pixbuf is done.
GdkPixbufLoader uses a function of this type to emit the
"area_prepared"
signal.
Since 2.2
pixbufGdkPixbuf] the GdkPixbuf that is currently being loaded.animGdkPixbufAnimation] if an animation is being loaded, the GdkPixbufAnimation, else NULL.user.data
GdkPixbufModuleUpdatedFunc(pixbuf, x, y, width, height, user.data)pixbuf is updated.
GdkPixbufLoader uses a function of this type to emit the
"area_updated"
signal.
Since 2.2
pixbufGdkPixbuf] the GdkPixbuf that is currently being loaded.xywidthheightuser.data
Derived by RGtkGen from GTK+ documentation
http://developer.gnome.org/doc/API/2.0/gdk-pixbuf/gdk-pixbuf-Module-Interface.html