summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/io-jpeg.c
diff options
context:
space:
mode:
authorMatthias Clasen <matthiasc@src.gnome.org>2002-10-03 22:39:51 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2002-10-03 22:39:51 +0000
commit45f7541f42d696d02464973e74b2684f690a0cdd (patch)
tree5e36f77bb56a48f9f68fdd84c1c21f682a803108 /gdk-pixbuf/io-jpeg.c
parent71277f4075d53cc1eea6e7e4f20c187c79f1172d (diff)
downloadgdk-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.c58
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;
}