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 | 471079593368f84245ac49735becb212476d9293 (patch) | |
tree | 267b808c4733f5f6e2409fefdee8839daf95736e /gdk-pixbuf/io-ico.c | |
parent | e99adacd4b3e3741355d343073df951537b7b9d9 (diff) | |
download | gdk-pixbuf-471079593368f84245ac49735becb212476d9293.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-ico.c')
-rw-r--r-- | gdk-pixbuf/io-ico.c | 57 |
1 files changed, 44 insertions, 13 deletions
diff --git a/gdk-pixbuf/io-ico.c b/gdk-pixbuf/io-ico.c index d54e4103e..ff2abe4df 100644 --- a/gdk-pixbuf/io-ico.c +++ b/gdk-pixbuf/io-ico.c @@ -1,3 +1,4 @@ +/* -*- mode: C; c-file-style: "linux" -*- */ /* GdkPixbuf library - Windows Icon/Cursor image loader * * Copyright (C) 1999 The Free Software Foundation @@ -23,7 +24,7 @@ * Boston, MA 02111-1307, USA. */ -#undef DUMPBIH +#define DUMPBIH /* Icons are just like BMP's, except for the header. @@ -124,8 +125,8 @@ struct headerpair { }; struct ico_progressive_state { - ModulePreparedNotifyFunc prepared_func; - ModuleUpdatedNotifyFunc updated_func; + GdkPixbufModulePreparedFunc prepared_func; + GdkPixbufModuleUpdatedFunc updated_func; gpointer user_data; gint HeaderSize; /* The size of the header-part (incl colormap) */ @@ -160,9 +161,9 @@ struct ico_progressive_state { }; static gpointer -gdk_pixbuf__ico_image_begin_load(ModuleSizeFunc size_func, - ModulePreparedNotifyFunc prepared_func, - ModuleUpdatedNotifyFunc updated_func, +gdk_pixbuf__ico_image_begin_load(GdkPixbufModuleSizeFunc size_func, + GdkPixbufModulePreparedFunc prepared_func, + GdkPixbufModuleUpdatedFunc updated_func, gpointer user_data, GError **error); static gboolean gdk_pixbuf__ico_image_stop_load(gpointer data, GError **error); @@ -442,9 +443,9 @@ static void DecodeHeader(guchar *Data, gint Bytes, */ static gpointer -gdk_pixbuf__ico_image_begin_load(ModuleSizeFunc size_func, - ModulePreparedNotifyFunc prepared_func, - ModuleUpdatedNotifyFunc updated_func, +gdk_pixbuf__ico_image_begin_load(GdkPixbufModuleSizeFunc size_func, + GdkPixbufModulePreparedFunc prepared_func, + GdkPixbufModuleUpdatedFunc updated_func, gpointer user_data, GError **error) { @@ -840,9 +841,39 @@ gdk_pixbuf__ico_image_load_increment(gpointer data, } void -gdk_pixbuf__ico_fill_vtable (GdkPixbufModule *module) +MODULE_ENTRY (ico, fill_vtable) (GdkPixbufModule *module) { - module->begin_load = gdk_pixbuf__ico_image_begin_load; - module->stop_load = gdk_pixbuf__ico_image_stop_load; - module->load_increment = gdk_pixbuf__ico_image_load_increment; + module->begin_load = gdk_pixbuf__ico_image_begin_load; + module->stop_load = gdk_pixbuf__ico_image_stop_load; + module->load_increment = gdk_pixbuf__ico_image_load_increment; } + +void +MODULE_ENTRY (ico, fill_info) (GdkPixbufFormat *info) +{ + static GdkPixbufModulePattern signature[] = { + { " \x1 ", "zz znz", 100 }, + { " \x2 ", "zz znz", 100 }, + { NULL, NULL, 0 } + }; + static gchar * mime_types[] = { + "image/x-icon", + NULL + }; + static gchar * extensions[] = { + "ico", + "cur", + NULL + }; + + info->name = "ico"; + info->signature = signature; + info->description = N_("The ICO image format"); + info->mime_types = mime_types; + info->extensions = extensions; + info->flags = 0; +} + + + + |