summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/gdk-pixbuf-io.h
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/gdk-pixbuf-io.h
parent71277f4075d53cc1eea6e7e4f20c187c79f1172d (diff)
downloadgtk+-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/gdk-pixbuf-io.h')
-rw-r--r--gdk-pixbuf/gdk-pixbuf-io.h101
1 files changed, 66 insertions, 35 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-io.h b/gdk-pixbuf/gdk-pixbuf-io.h
index b0db1a2487..aeb8e99537 100644
--- a/gdk-pixbuf/gdk-pixbuf-io.h
+++ b/gdk-pixbuf/gdk-pixbuf-io.h
@@ -1,5 +1,6 @@
-/* GdkPixbuf library - Io handling. This is an internal header for gdk-pixbuf.
- * You should never use it unless you are doing developement for gdkpixbuf itself.
+/* GdkPixbuf library - Io handling. This is an internal header for
+ * GdkPixbuf. You should never use it unless you are doing development for
+ * GdkPixbuf itself.
*
* Copyright (C) 1999 The Free Software Foundation
*
@@ -28,43 +29,53 @@
#ifndef GDK_PIXBUF_IO_H
#define GDK_PIXBUF_IO_H
+#include "gdk-pixbuf/gdk-pixbuf.h"
#include <gmodule.h>
#include <stdio.h>
-#include "gdk-pixbuf.h"
-#include "gdk-pixbuf-i18n.h"
G_BEGIN_DECLS
-
+#ifdef GDK_PIXBUF_ENABLE_BACKEND
-typedef void (* ModuleSizeFunc) (gint *width,
- gint *height,
- gpointer user_data);
+
-typedef void (* ModulePreparedNotifyFunc) (GdkPixbuf *pixbuf,
- GdkPixbufAnimation *anim,
- gpointer user_data);
-typedef void (* ModuleUpdatedNotifyFunc) (GdkPixbuf *pixbuf,
- int x,
- int y,
- int width,
- int height,
- gpointer user_data);
+typedef void (* GdkPixbufModuleSizeFunc) (gint *width,
+ gint *height,
+ gpointer user_data);
+
+typedef void (* GdkPixbufModulePreparedFunc) (GdkPixbuf *pixbuf,
+ GdkPixbufAnimation *anim,
+ gpointer user_data);
+typedef void (* GdkPixbufModuleUpdatedFunc) (GdkPixbuf *pixbuf,
+ int x,
+ int y,
+ int width,
+ int height,
+ gpointer user_data);
+
+typedef struct _GdkPixbufModulePattern GdkPixbufModulePattern;
+struct _GdkPixbufModulePattern {
+ unsigned char *prefix;
+ unsigned char *mask;
+ int relevance;
+};
typedef struct _GdkPixbufModule GdkPixbufModule;
struct _GdkPixbufModule {
char *module_name;
- gboolean (* format_check) (guchar *buffer, int size);
+ char *module_path;
GModule *module;
+ GdkPixbufFormat *info;
+
GdkPixbuf *(* load) (FILE *f,
GError **error);
GdkPixbuf *(* load_xpm_data) (const char **data);
/* Incremental loading */
- gpointer (* begin_load) (ModuleSizeFunc size_func,
- ModulePreparedNotifyFunc prepare_func,
- ModuleUpdatedNotifyFunc update_func,
+ gpointer (* begin_load) (GdkPixbufModuleSizeFunc size_func,
+ GdkPixbufModulePreparedFunc prepare_func,
+ GdkPixbufModuleUpdatedFunc update_func,
gpointer user_data,
GError **error);
gboolean (* stop_load) (gpointer context,
@@ -83,24 +94,44 @@ struct _GdkPixbufModule {
gchar **param_keys,
gchar **param_values,
GError **error);
-};
+
+ void (*_reserved1) (void);
+ void (*_reserved2) (void);
+ void (*_reserved3) (void);
+ void (*_reserved4) (void);
+ void (*_reserved5) (void);
+ void (*_reserved6) (void);
-typedef void (* ModuleFillVtableFunc) (GdkPixbufModule *module);
+};
-GdkPixbufModule *_gdk_pixbuf_get_module (guchar *buffer, guint size,
- const gchar *filename,
- GError **error);
-GdkPixbufModule *_gdk_pixbuf_get_named_module (const char *name,
- GError **error);
-gboolean _gdk_pixbuf_load_module (GdkPixbufModule *image_module,
- GError **error);
+typedef void (* GdkPixbufModuleFillVtableFunc) (GdkPixbufModule *module);
+typedef void (* GdkPixbufModuleFillInfoFunc) (GdkPixbufFormat *info);
+typedef const GdkPixbufModulePattern *(* GdkPixbufModuleGetSignatureFunc) (void);
+
+/* key/value pairs that can be attached by the pixbuf loader */
+
+gboolean gdk_pixbuf_set_option (GdkPixbuf *pixbuf,
+ const gchar *key,
+ const gchar *value);
+
+typedef enum /*< skip >*/
+{
+ GDK_PIXBUF_FORMAT_WRITABLE = 1 << 0
+} GdkPixbufFormatFlags;
+
+struct _GdkPixbufFormat {
+ gchar *name;
+ GdkPixbufModulePattern *signature;
+ gchar *domain;
+ gchar *description;
+ gchar **mime_types;
+ gchar **extensions;
+ guint32 flags;
+};
-GdkPixbuf *_gdk_pixbuf_generic_image_load (GdkPixbufModule *image_module,
- FILE *f,
- GError **error);
-
+#endif /* GDK_PIXBUF_ENABLE_BACKEND */
G_END_DECLS
-#endif
+#endif /* GDK_PIXBUF_IO_H */