summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/io-ico.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-ico.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-ico.c')
-rw-r--r--gdk-pixbuf/io-ico.c57
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;
+}
+
+
+
+