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-jpeg.c | |
parent | 71277f4075d53cc1eea6e7e4f20c187c79f1172d (diff) | |
download | gdk-pixbuf-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-jpeg.c')
-rw-r--r-- | gdk-pixbuf/io-jpeg.c | 58 |
1 files changed, 42 insertions, 16 deletions
diff --git a/gdk-pixbuf/io-jpeg.c b/gdk-pixbuf/io-jpeg.c index 365194764..bf0fb0556 100644 --- a/gdk-pixbuf/io-jpeg.c +++ b/gdk-pixbuf/io-jpeg.c @@ -65,10 +65,10 @@ struct error_handler_data { /* progressive loader context */ typedef struct { - ModuleSizeFunc size_func; - ModuleUpdatedNotifyFunc updated_func; - ModulePreparedNotifyFunc prepared_func; - gpointer user_data; + GdkPixbufModuleSizeFunc size_func; + GdkPixbufModuleUpdatedFunc updated_func; + GdkPixbufModulePreparedFunc prepared_func; + gpointer user_data; GdkPixbuf *pixbuf; guchar *dptr; /* current position in pixbuf */ @@ -82,9 +82,9 @@ typedef struct { } JpegProgContext; static GdkPixbuf *gdk_pixbuf__jpeg_image_load (FILE *f, GError **error); -static gpointer gdk_pixbuf__jpeg_image_begin_load (ModuleSizeFunc func0, - ModulePreparedNotifyFunc func1, - ModuleUpdatedNotifyFunc func2, +static gpointer gdk_pixbuf__jpeg_image_begin_load (GdkPixbufModuleSizeFunc func0, + GdkPixbufModulePreparedFunc func1, + GdkPixbufModuleUpdatedFunc func2, gpointer user_data, GError **error); static gboolean gdk_pixbuf__jpeg_image_stop_load (gpointer context, GError **error); @@ -450,9 +450,9 @@ skip_input_data (j_decompress_ptr cinfo, long num_bytes) */ gpointer -gdk_pixbuf__jpeg_image_begin_load (ModuleSizeFunc size_func, - ModulePreparedNotifyFunc prepared_func, - ModuleUpdatedNotifyFunc updated_func, +gdk_pixbuf__jpeg_image_begin_load (GdkPixbufModuleSizeFunc size_func, + GdkPixbufModulePreparedFunc prepared_func, + GdkPixbufModuleUpdatedFunc updated_func, gpointer user_data, GError **error) { @@ -908,11 +908,37 @@ gdk_pixbuf__jpeg_image_save (FILE *f, } void -gdk_pixbuf__jpeg_fill_vtable (GdkPixbufModule *module) +MODULE_ENTRY (jpeg, fill_vtable) (GdkPixbufModule *module) { - module->load = gdk_pixbuf__jpeg_image_load; - module->begin_load = gdk_pixbuf__jpeg_image_begin_load; - module->stop_load = gdk_pixbuf__jpeg_image_stop_load; - module->load_increment = gdk_pixbuf__jpeg_image_load_increment; - module->save = gdk_pixbuf__jpeg_image_save; + module->load = gdk_pixbuf__jpeg_image_load; + module->begin_load = gdk_pixbuf__jpeg_image_begin_load; + module->stop_load = gdk_pixbuf__jpeg_image_stop_load; + module->load_increment = gdk_pixbuf__jpeg_image_load_increment; + module->save = gdk_pixbuf__jpeg_image_save; +} + +void +MODULE_ENTRY (jpeg, fill_info) (GdkPixbufFormat *info) +{ + static GdkPixbufModulePattern signature[] = { + { "\xff\xd8", NULL, 100 }, + { NULL, NULL, 0 } + }; + static gchar * mime_types[] = { + "image/jpeg", + NULL + }; + static gchar * extensions[] = { + "jpeg", + "jpe", + "jpg", + NULL + }; + + info->name = "jpeg"; + info->signature = signature; + info->description = N_("The JPEG image format"); + info->mime_types = mime_types; + info->extensions = extensions; + info->flags = GDK_PIXBUF_FORMAT_WRITABLE; } |