diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2002-10-03 22:39:51 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2002-10-03 22:39:51 +0000 |
commit | 45f7541f42d696d02464973e74b2684f690a0cdd (patch) | |
tree | 5e36f77bb56a48f9f68fdd84c1c21f682a803108 /gdk-pixbuf/io-png.c | |
parent | 71277f4075d53cc1eea6e7e4f20c187c79f1172d (diff) | |
download | gtk+-45f7541f42d696d02464973e74b2684f690a0cdd.tar.gz |
Support for separately installed loaders. (#77486)
* Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c
gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c
gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h
gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c
io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c
io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c
io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def
pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def
pixbufloader_jpeg.def pixbufloader_png.def
pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def
pixbufloader_tiff.def pixbufloader_wbmp.def
pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c
gdk-pixbuf-animation.h queryloaders.c: Support for separately
installed loaders. (#77486)
Diffstat (limited to 'gdk-pixbuf/io-png.c')
-rw-r--r-- | gdk-pixbuf/io-png.c | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/gdk-pixbuf/io-png.c b/gdk-pixbuf/io-png.c index 3b2317efda..5ddca75108 100644 --- a/gdk-pixbuf/io-png.c +++ b/gdk-pixbuf/io-png.c @@ -358,8 +358,8 @@ struct _LoadContext { png_structp png_read_ptr; png_infop png_info_ptr; - ModulePreparedNotifyFunc prepare_func; - ModuleUpdatedNotifyFunc update_func; + GdkPixbufModulePreparedFunc prepare_func; + GdkPixbufModuleUpdatedFunc update_func; gpointer notify_user_data; GdkPixbuf* pixbuf; @@ -386,9 +386,9 @@ struct _LoadContext { }; static gpointer -gdk_pixbuf__png_image_begin_load (ModuleSizeFunc size_func, - ModulePreparedNotifyFunc prepare_func, - ModuleUpdatedNotifyFunc update_func, +gdk_pixbuf__png_image_begin_load (GdkPixbufModuleSizeFunc size_func, + GdkPixbufModulePreparedFunc prepare_func, + GdkPixbufModuleUpdatedFunc update_func, gpointer user_data, GError **error) { @@ -888,14 +888,36 @@ cleanup: return success; } - +void +MODULE_ENTRY (png, fill_vtable) (GdkPixbufModule *module) +{ + module->load = gdk_pixbuf__png_image_load; + module->begin_load = gdk_pixbuf__png_image_begin_load; + module->stop_load = gdk_pixbuf__png_image_stop_load; + module->load_increment = gdk_pixbuf__png_image_load_increment; + module->save = gdk_pixbuf__png_image_save; +} void -gdk_pixbuf__png_fill_vtable (GdkPixbufModule *module) +MODULE_ENTRY (png, fill_info) (GdkPixbufFormat *info) { - module->load = gdk_pixbuf__png_image_load; - module->begin_load = gdk_pixbuf__png_image_begin_load; - module->stop_load = gdk_pixbuf__png_image_stop_load; - module->load_increment = gdk_pixbuf__png_image_load_increment; - module->save = gdk_pixbuf__png_image_save; + static GdkPixbufModulePattern signature[] = { + { "\x89PNG\r\n\x1a\x0a", NULL, 100 }, + { NULL, NULL, 0 } + }; + static gchar * mime_types[] = { + "image/png", + NULL + }; + static gchar * extensions[] = { + "png", + NULL + }; + + info->name = "png"; + info->signature = signature; + info->description = N_("The PNG image format"); + info->mime_types = mime_types; + info->extensions = extensions; + info->flags = GDK_PIXBUF_FORMAT_WRITABLE; } |