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)
This commit is contained in:
parent
71277f4075
commit
45f7541f42
@ -1,3 +1,20 @@
|
|||||||
|
2002-10-04 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* 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)
|
||||||
|
|
||||||
Thu Oct 3 18:25:57 2002 Owen Taylor <otaylor@redhat.com>
|
Thu Oct 3 18:25:57 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* io-jpeg.c (gdk_pixbuf__jpeg_image_save):
|
* io-jpeg.c (gdk_pixbuf__jpeg_image_save):
|
||||||
|
@ -243,6 +243,7 @@ INCLUDES = @STRIP_BEGIN@ \
|
|||||||
-I$(top_srcdir) -I$(top_builddir) \
|
-I$(top_srcdir) -I$(top_builddir) \
|
||||||
-I$(top_srcdir)/gdk-pixbuf \
|
-I$(top_srcdir)/gdk-pixbuf \
|
||||||
-I$(top_builddir)/gdk-pixbuf \
|
-I$(top_builddir)/gdk-pixbuf \
|
||||||
|
-DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
|
||||||
-DGTK_VERSION=\"@GTK_VERSION@\" \
|
-DGTK_VERSION=\"@GTK_VERSION@\" \
|
||||||
-DGTK_BINARY_VERSION=\"@GTK_BINARY_VERSION@\" \
|
-DGTK_BINARY_VERSION=\"@GTK_BINARY_VERSION@\" \
|
||||||
-DG_DISABLE_DEPRECATED \
|
-DG_DISABLE_DEPRECATED \
|
||||||
@ -250,6 +251,7 @@ INCLUDES = @STRIP_BEGIN@ \
|
|||||||
@INCLUDED_LOADER_DEFINE@ \
|
@INCLUDED_LOADER_DEFINE@ \
|
||||||
@GTK_DEBUG_FLAGS@ \
|
@GTK_DEBUG_FLAGS@ \
|
||||||
@GDK_PIXBUF_DEP_CFLAGS@ \
|
@GDK_PIXBUF_DEP_CFLAGS@ \
|
||||||
|
-DGDK_PIXBUF_ENABLE_BACKEND \
|
||||||
@STRIP_END@
|
@STRIP_END@
|
||||||
|
|
||||||
AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
|
AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
|
||||||
@ -258,10 +260,16 @@ LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la
|
|||||||
noinst_PROGRAMS = test-gdk-pixbuf
|
noinst_PROGRAMS = test-gdk-pixbuf
|
||||||
test_gdk_pixbuf_LDADD = $(LDADDS)
|
test_gdk_pixbuf_LDADD = $(LDADDS)
|
||||||
|
|
||||||
bin_PROGRAMS = gdk-pixbuf-csource
|
bin_PROGRAMS = gdk-pixbuf-csource gdk-pixbuf-query-loaders
|
||||||
gdk_pixbuf_csource_SOURCES = gdk-pixbuf-csource.c
|
gdk_pixbuf_csource_SOURCES = gdk-pixbuf-csource.c
|
||||||
gdk_pixbuf_csource_LDADD = $(LDADDS)
|
gdk_pixbuf_csource_LDADD = $(LDADDS)
|
||||||
|
|
||||||
|
gdk_pixbuf_query_loaders_DEPENDENCIES = $(DEPS)
|
||||||
|
gdk_pixbuf_query_loaders_LDADD = $(LDADDS)
|
||||||
|
|
||||||
|
gdk_pixbuf_query_loaders_SOURCES = queryloaders.c
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# manual pages to install
|
# manual pages to install
|
||||||
#
|
#
|
||||||
@ -296,6 +304,8 @@ libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pi
|
|||||||
|
|
||||||
gdk_pixbuf_headers = \
|
gdk_pixbuf_headers = \
|
||||||
gdk-pixbuf.h \
|
gdk-pixbuf.h \
|
||||||
|
gdk-pixbuf-io.h \
|
||||||
|
gdk-pixbuf-animation.h \
|
||||||
gdk-pixbuf-loader.h
|
gdk-pixbuf-loader.h
|
||||||
|
|
||||||
libgdk_pixbufinclude_HEADERS = \
|
libgdk_pixbufinclude_HEADERS = \
|
||||||
@ -305,7 +315,6 @@ libgdk_pixbufinclude_HEADERS = \
|
|||||||
gdk-pixdata.h
|
gdk-pixdata.h
|
||||||
|
|
||||||
noinst_HEADERS = \
|
noinst_HEADERS = \
|
||||||
gdk-pixbuf-io.h \
|
|
||||||
gdk-pixbuf-private.h
|
gdk-pixbuf-private.h
|
||||||
|
|
||||||
gdk_pixbuf_built_headers = gdk-pixbuf-enum-types.h gdk-pixbuf-marshal.h
|
gdk_pixbuf_built_headers = gdk-pixbuf-enum-types.h gdk-pixbuf-marshal.h
|
||||||
@ -405,6 +414,37 @@ EXTRA_DIST = \
|
|||||||
pixbufloader_xbm.def \
|
pixbufloader_xbm.def \
|
||||||
pixbufloader_tga.def
|
pixbufloader_tga.def
|
||||||
|
|
||||||
|
if CROSS_COMPILING
|
||||||
|
RUN_QUERY_LOADER_TEST=false
|
||||||
|
else
|
||||||
|
RUN_QUERY_LOADER_TEST=test -z "$(DESTDIR)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Running this if cross compiling or if DESTDIR is set is going to
|
||||||
|
# not work at all, so skip it
|
||||||
install-data-local: install-ms-lib install-libtool-import-lib
|
install-data-local: install-ms-lib install-libtool-import-lib
|
||||||
|
@if $(RUN_QUERY_LOADER_TEST) ; then \
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \
|
||||||
|
$(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ; \
|
||||||
|
else \
|
||||||
|
echo "***" ; \
|
||||||
|
echo "*** Warning: gdk-pixbuf.loaders not built" ; \
|
||||||
|
echo "***" ; \
|
||||||
|
echo "*** Generate this file manually on on host" ; \
|
||||||
|
echo "*** system using gdk-pixbuf-query-loaders" ; \
|
||||||
|
echo "***" ; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
all-local: gdk-pixbuf.loaders
|
||||||
|
|
||||||
|
gdk-pixbuf.loaders:
|
||||||
|
if find . -name 'libpixbufloader-*.so' | grep 'so' > /dev/null ; then \
|
||||||
|
echo "Writing a gdk-pixbuf.loader file to use when running examples before installing gdk-pixbuf."; \
|
||||||
|
GDK_PIXBUF_MODULEDIR=.libs $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > ./gdk-pixbuf.loaders ;\
|
||||||
|
else \
|
||||||
|
echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
|
||||||
|
touch gdk-pixbuf.loaders; \
|
||||||
|
fi
|
||||||
|
|
||||||
uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
|
uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
|
||||||
|
|
||||||
|
@ -24,8 +24,10 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "gdk-pixbuf-io.h"
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
|
#include "gdk-pixbuf-io.h"
|
||||||
|
#include "gdk-pixbuf-i18n.h"
|
||||||
|
#include "gdk-pixbuf-animation.h"
|
||||||
|
|
||||||
typedef struct _GdkPixbufNonAnim GdkPixbufNonAnim;
|
typedef struct _GdkPixbufNonAnim GdkPixbufNonAnim;
|
||||||
typedef struct _GdkPixbufNonAnimClass GdkPixbufNonAnimClass;
|
typedef struct _GdkPixbufNonAnimClass GdkPixbufNonAnimClass;
|
||||||
|
99
gdk-pixbuf/gdk-pixbuf-animation.h
Normal file
99
gdk-pixbuf/gdk-pixbuf-animation.h
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
|
||||||
|
/* GdkPixbuf library - Private declarations
|
||||||
|
*
|
||||||
|
* Copyright (C) 1999 The Free Software Foundation
|
||||||
|
*
|
||||||
|
* Authors: Mark Crichton <crichton@gimp.org>
|
||||||
|
* Miguel de Icaza <miguel@gnu.org>
|
||||||
|
* Federico Mena-Quintero <federico@gimp.org>
|
||||||
|
* Havoc Pennington <hp@redhat.com>
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef GDK_PIXBUF_ANIMATION_H
|
||||||
|
#define GDK_PIXBUF_ANIMATION_H
|
||||||
|
|
||||||
|
#include "gdk-pixbuf/gdk-pixbuf.h"
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#ifdef GDK_PIXBUF_ENABLE_BACKEND
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufAnimationClass GdkPixbufAnimationClass;
|
||||||
|
|
||||||
|
#define GDK_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass))
|
||||||
|
#define GDK_IS_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_ANIMATION))
|
||||||
|
#define GDK_PIXBUF_ANIMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass))
|
||||||
|
|
||||||
|
/* Private part of the GdkPixbufAnimation structure */
|
||||||
|
struct _GdkPixbufAnimation {
|
||||||
|
GObject parent_instance;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _GdkPixbufAnimationClass {
|
||||||
|
GObjectClass parent_class;
|
||||||
|
|
||||||
|
gboolean (*is_static_image) (GdkPixbufAnimation *anim);
|
||||||
|
|
||||||
|
GdkPixbuf* (*get_static_image) (GdkPixbufAnimation *anim);
|
||||||
|
|
||||||
|
void (*get_size) (GdkPixbufAnimation *anim,
|
||||||
|
int *width,
|
||||||
|
int *height);
|
||||||
|
|
||||||
|
GdkPixbufAnimationIter* (*get_iter) (GdkPixbufAnimation *anim,
|
||||||
|
const GTimeVal *start_time);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufAnimationIterClass GdkPixbufAnimationIterClass;
|
||||||
|
|
||||||
|
#define GDK_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass))
|
||||||
|
#define GDK_IS_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER))
|
||||||
|
#define GDK_PIXBUF_ANIMATION_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass))
|
||||||
|
|
||||||
|
struct _GdkPixbufAnimationIter {
|
||||||
|
GObject parent_instance;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _GdkPixbufAnimationIterClass {
|
||||||
|
GObjectClass parent_class;
|
||||||
|
|
||||||
|
int (*get_delay_time) (GdkPixbufAnimationIter *iter);
|
||||||
|
|
||||||
|
GdkPixbuf* (*get_pixbuf) (GdkPixbufAnimationIter *iter);
|
||||||
|
|
||||||
|
gboolean (*on_currently_loading_frame) (GdkPixbufAnimationIter *iter);
|
||||||
|
|
||||||
|
gboolean (*advance) (GdkPixbufAnimationIter *iter,
|
||||||
|
const GTimeVal *current_time);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
GdkPixbufAnimation* gdk_pixbuf_non_anim_new (GdkPixbuf *pixbuf);
|
||||||
|
|
||||||
|
#endif /* GDK_PIXBUF_ENABLE_BACKEND */
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* GDK_PIXBUF_ANIMATION_H */
|
@ -23,7 +23,6 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "gdk-pixbuf.h"
|
#include "gdk-pixbuf.h"
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
#include "gdk-pixbuf-i18n.h"
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@
|
|||||||
/* GdkPixbuf library - Io handling. This is an internal header for gdk-pixbuf.
|
/* GdkPixbuf library - Io handling. This is an internal header for
|
||||||
* You should never use it unless you are doing developement for gdkpixbuf itself.
|
* GdkPixbuf. You should never use it unless you are doing development for
|
||||||
|
* GdkPixbuf itself.
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999 The Free Software Foundation
|
* Copyright (C) 1999 The Free Software Foundation
|
||||||
*
|
*
|
||||||
@ -28,43 +29,53 @@
|
|||||||
#ifndef GDK_PIXBUF_IO_H
|
#ifndef GDK_PIXBUF_IO_H
|
||||||
#define GDK_PIXBUF_IO_H
|
#define GDK_PIXBUF_IO_H
|
||||||
|
|
||||||
|
#include "gdk-pixbuf/gdk-pixbuf.h"
|
||||||
#include <gmodule.h>
|
#include <gmodule.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "gdk-pixbuf.h"
|
|
||||||
#include "gdk-pixbuf-i18n.h"
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#ifdef GDK_PIXBUF_ENABLE_BACKEND
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef void (* ModuleSizeFunc) (gint *width,
|
typedef void (* GdkPixbufModuleSizeFunc) (gint *width,
|
||||||
gint *height,
|
gint *height,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
typedef void (* ModulePreparedNotifyFunc) (GdkPixbuf *pixbuf,
|
typedef void (* GdkPixbufModulePreparedFunc) (GdkPixbuf *pixbuf,
|
||||||
GdkPixbufAnimation *anim,
|
GdkPixbufAnimation *anim,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
typedef void (* ModuleUpdatedNotifyFunc) (GdkPixbuf *pixbuf,
|
typedef void (* GdkPixbufModuleUpdatedFunc) (GdkPixbuf *pixbuf,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufModulePattern GdkPixbufModulePattern;
|
||||||
|
struct _GdkPixbufModulePattern {
|
||||||
|
unsigned char *prefix;
|
||||||
|
unsigned char *mask;
|
||||||
|
int relevance;
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct _GdkPixbufModule GdkPixbufModule;
|
typedef struct _GdkPixbufModule GdkPixbufModule;
|
||||||
struct _GdkPixbufModule {
|
struct _GdkPixbufModule {
|
||||||
char *module_name;
|
char *module_name;
|
||||||
gboolean (* format_check) (guchar *buffer, int size);
|
char *module_path;
|
||||||
GModule *module;
|
GModule *module;
|
||||||
|
GdkPixbufFormat *info;
|
||||||
|
|
||||||
GdkPixbuf *(* load) (FILE *f,
|
GdkPixbuf *(* load) (FILE *f,
|
||||||
GError **error);
|
GError **error);
|
||||||
GdkPixbuf *(* load_xpm_data) (const char **data);
|
GdkPixbuf *(* load_xpm_data) (const char **data);
|
||||||
|
|
||||||
/* Incremental loading */
|
/* Incremental loading */
|
||||||
|
|
||||||
gpointer (* begin_load) (ModuleSizeFunc size_func,
|
gpointer (* begin_load) (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepare_func,
|
GdkPixbufModulePreparedFunc prepare_func,
|
||||||
ModuleUpdatedNotifyFunc update_func,
|
GdkPixbufModuleUpdatedFunc update_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
gboolean (* stop_load) (gpointer context,
|
gboolean (* stop_load) (gpointer context,
|
||||||
@ -83,24 +94,44 @@ struct _GdkPixbufModule {
|
|||||||
gchar **param_keys,
|
gchar **param_keys,
|
||||||
gchar **param_values,
|
gchar **param_values,
|
||||||
GError **error);
|
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);
|
typedef void (* GdkPixbufModuleFillVtableFunc) (GdkPixbufModule *module);
|
||||||
|
typedef void (* GdkPixbufModuleFillInfoFunc) (GdkPixbufFormat *info);
|
||||||
|
typedef const GdkPixbufModulePattern *(* GdkPixbufModuleGetSignatureFunc) (void);
|
||||||
|
|
||||||
GdkPixbufModule *_gdk_pixbuf_get_module (guchar *buffer, guint size,
|
/* key/value pairs that can be attached by the pixbuf loader */
|
||||||
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);
|
|
||||||
|
|
||||||
GdkPixbuf *_gdk_pixbuf_generic_image_load (GdkPixbufModule *image_module,
|
gboolean gdk_pixbuf_set_option (GdkPixbuf *pixbuf,
|
||||||
FILE *f,
|
const gchar *key,
|
||||||
GError **error);
|
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;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* GDK_PIXBUF_ENABLE_BACKEND */
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif /* GDK_PIXBUF_IO_H */
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
#include "gdk-pixbuf-loader.h"
|
#include "gdk-pixbuf-animation.h"
|
||||||
#include "gdk-pixbuf-io.h"
|
#include "gdk-pixbuf-io.h"
|
||||||
|
#include "gdk-pixbuf-loader.h"
|
||||||
#include "gdk-pixbuf-marshal.h"
|
#include "gdk-pixbuf-marshal.h"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -645,7 +646,32 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader,
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gdk_pixbuf_loader_get_format:
|
||||||
|
* @loader: A pixbuf loader.
|
||||||
|
*
|
||||||
|
* Obtains the available information about the format of the
|
||||||
|
* currently loading image file.
|
||||||
|
*
|
||||||
|
* Returns: A #GdkPixbufFormat or %NULL. The return value is owned
|
||||||
|
* by GdkPixbuf and should not be freed.
|
||||||
|
*/
|
||||||
|
GdkPixbufFormat *
|
||||||
|
gdk_pixbuf_loader_get_format (GdkPixbufLoader *loader)
|
||||||
|
{
|
||||||
|
GdkPixbufLoaderPrivate *priv;
|
||||||
|
gboolean retval = TRUE;
|
||||||
|
|
||||||
|
g_return_val_if_fail (loader != NULL, NULL);
|
||||||
|
g_return_val_if_fail (GDK_IS_PIXBUF_LOADER (loader), NULL);
|
||||||
|
|
||||||
|
priv = loader->priv;
|
||||||
|
|
||||||
|
if (priv->image_module)
|
||||||
|
return _gdk_pixbuf_get_format (priv->image_module);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ GdkPixbuf * gdk_pixbuf_loader_get_pixbuf (GdkPixbufLoader *loader);
|
|||||||
GdkPixbufAnimation * gdk_pixbuf_loader_get_animation (GdkPixbufLoader *loader);
|
GdkPixbufAnimation * gdk_pixbuf_loader_get_animation (GdkPixbufLoader *loader);
|
||||||
gboolean gdk_pixbuf_loader_close (GdkPixbufLoader *loader,
|
gboolean gdk_pixbuf_loader_close (GdkPixbufLoader *loader,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
GdkPixbufFormat *gdk_pixbuf_loader_get_format (GdkPixbufLoader *loader);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
#define GDK_PIXBUF_PRIVATE_H
|
#define GDK_PIXBUF_PRIVATE_H
|
||||||
|
|
||||||
#include "gdk-pixbuf.h"
|
#include "gdk-pixbuf.h"
|
||||||
|
#include "gdk-pixbuf-io.h"
|
||||||
|
#include "gdk-pixbuf-i18n.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -74,70 +77,30 @@ struct _GdkPixbufClass {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _GdkPixbufAnimationClass GdkPixbufAnimationClass;
|
#ifdef GDK_PIXBUF_ENABLE_BACKEND
|
||||||
|
|
||||||
#define GDK_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass))
|
GdkPixbufModule *_gdk_pixbuf_get_module (guchar *buffer, guint size,
|
||||||
#define GDK_IS_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_ANIMATION))
|
const gchar *filename,
|
||||||
#define GDK_PIXBUF_ANIMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass))
|
GError **error);
|
||||||
|
GdkPixbufModule *_gdk_pixbuf_get_named_module (const char *name,
|
||||||
|
GError **error);
|
||||||
|
gboolean _gdk_pixbuf_load_module (GdkPixbufModule *image_module,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
/* Private part of the GdkPixbufAnimation structure */
|
GdkPixbuf *_gdk_pixbuf_generic_image_load (GdkPixbufModule *image_module,
|
||||||
struct _GdkPixbufAnimation {
|
FILE *f,
|
||||||
GObject parent_instance;
|
GError **error);
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _GdkPixbufAnimationClass {
|
|
||||||
GObjectClass parent_class;
|
|
||||||
|
|
||||||
gboolean (*is_static_image) (GdkPixbufAnimation *anim);
|
|
||||||
|
|
||||||
GdkPixbuf* (*get_static_image) (GdkPixbufAnimation *anim);
|
|
||||||
|
|
||||||
void (*get_size) (GdkPixbufAnimation *anim,
|
|
||||||
int *width,
|
|
||||||
int *height);
|
|
||||||
|
|
||||||
GdkPixbufAnimationIter* (*get_iter) (GdkPixbufAnimation *anim,
|
|
||||||
const GTimeVal *start_time);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _GdkPixbufAnimationIterClass GdkPixbufAnimationIterClass;
|
|
||||||
|
|
||||||
#define GDK_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass))
|
|
||||||
#define GDK_IS_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER))
|
|
||||||
#define GDK_PIXBUF_ANIMATION_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass))
|
|
||||||
|
|
||||||
struct _GdkPixbufAnimationIter {
|
|
||||||
GObject parent_instance;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _GdkPixbufAnimationIterClass {
|
|
||||||
GObjectClass parent_class;
|
|
||||||
|
|
||||||
int (*get_delay_time) (GdkPixbufAnimationIter *iter);
|
|
||||||
|
|
||||||
GdkPixbuf* (*get_pixbuf) (GdkPixbufAnimationIter *iter);
|
|
||||||
|
|
||||||
gboolean (*on_currently_loading_frame) (GdkPixbufAnimationIter *iter);
|
|
||||||
|
|
||||||
gboolean (*advance) (GdkPixbufAnimationIter *iter,
|
|
||||||
const GTimeVal *current_time);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
GdkPixbufAnimation* gdk_pixbuf_non_anim_new (GdkPixbuf *pixbuf);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* key/value pairs that can be attached by the pixbuf loader */
|
|
||||||
|
|
||||||
gboolean gdk_pixbuf_set_option (GdkPixbuf *pixbuf,
|
|
||||||
const gchar *key,
|
|
||||||
const gchar *value);
|
|
||||||
|
|
||||||
|
GdkPixbufFormat *_gdk_pixbuf_get_format (GdkPixbufModule *image_module);
|
||||||
|
|
||||||
|
#ifdef USE_GMODULE
|
||||||
|
#define MODULE_ENTRY(type,function) function
|
||||||
|
#else
|
||||||
|
#define MODULE_ENTRY(type,function) _gdk_pixbuf__ ## type ## _ ## function
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* GDK_PIXBUF_ENABLE_BACKEND */
|
||||||
|
|
||||||
|
#endif /* GDK_PIXBUF_PRIVATE_H */
|
||||||
|
|
||||||
|
|
||||||
|
@ -287,7 +287,16 @@ G_CONST_RETURN gchar * gdk_pixbuf_get_option (GdkPixbuf *pixbuf,
|
|||||||
const gchar *key);
|
const gchar *key);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufFormat GdkPixbufFormat;
|
||||||
|
|
||||||
|
GSList *gdk_pixbuf_get_formats (void);
|
||||||
|
gchar *gdk_pixbuf_format_get_name (GdkPixbufFormat *format);
|
||||||
|
gchar *gdk_pixbuf_format_get_description (GdkPixbufFormat *format);
|
||||||
|
gchar **gdk_pixbuf_format_get_mime_types (GdkPixbufFormat *format);
|
||||||
|
gchar **gdk_pixbuf_format_get_extensions (GdkPixbufFormat *format);
|
||||||
|
gboolean gdk_pixbuf_format_is_writable (GdkPixbufFormat *format);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
|
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
#include "gdk-pixdata.h"
|
#include "gdk-pixdata.h"
|
||||||
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
#include "gdk-pixbuf-i18n.h"
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define APPEND g_string_append_printf
|
#define APPEND g_string_append_printf
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#define GDK_PIXBUF_ANI_ANIMATION_H
|
#define GDK_PIXBUF_ANI_ANIMATION_H
|
||||||
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
|
#include "gdk-pixbuf-animation.h"
|
||||||
|
|
||||||
typedef struct _GdkPixbufAniAnim GdkPixbufAniAnim;
|
typedef struct _GdkPixbufAniAnim GdkPixbufAniAnim;
|
||||||
typedef struct _GdkPixbufAniAnimClass GdkPixbufAniAnimClass;
|
typedef struct _GdkPixbufAniAnimClass GdkPixbufAniAnimClass;
|
||||||
|
@ -60,8 +60,8 @@ typedef struct _AniLoaderContext
|
|||||||
guint n_bytes;
|
guint n_bytes;
|
||||||
guint buffer_size;
|
guint buffer_size;
|
||||||
|
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
guint32 data_size;
|
guint32 data_size;
|
||||||
@ -556,9 +556,9 @@ gdk_pixbuf__ani_image_load_increment (gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__ani_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__ani_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -647,10 +647,38 @@ gdk_pixbuf__ani_image_load_animation (FILE *f, GError **error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__ani_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (ani, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load_animation = gdk_pixbuf__ani_image_load_animation;
|
module->load_animation = gdk_pixbuf__ani_image_load_animation;
|
||||||
module->begin_load = gdk_pixbuf__ani_image_begin_load;
|
module->begin_load = gdk_pixbuf__ani_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__ani_image_stop_load;
|
module->stop_load = gdk_pixbuf__ani_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__ani_image_load_increment;
|
module->load_increment = gdk_pixbuf__ani_image_load_increment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (ani, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "RIFF ACON", " xxxx ", 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"application/x-navi-animation",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"ani",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "ani";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The ANI image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
/* GdkPixbuf library - Windows Bitmap image loader
|
/* GdkPixbuf library - Windows Bitmap image loader
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999 The Free Software Foundation
|
* Copyright (C) 1999 The Free Software Foundation
|
||||||
@ -143,8 +144,8 @@ struct bmp_compression_state {
|
|||||||
/* Progressive loading */
|
/* Progressive loading */
|
||||||
|
|
||||||
struct bmp_progressive_state {
|
struct bmp_progressive_state {
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
ReadState read_state;
|
ReadState read_state;
|
||||||
@ -181,9 +182,9 @@ struct bmp_progressive_state {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__bmp_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__bmp_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
@ -475,9 +476,9 @@ decode_bitmasks (guchar *buf,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__bmp_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__bmp_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -1045,9 +1046,36 @@ gdk_pixbuf__bmp_image_load_increment(gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__bmp_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (bmp, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->begin_load = gdk_pixbuf__bmp_image_begin_load;
|
module->begin_load = gdk_pixbuf__bmp_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__bmp_image_stop_load;
|
module->stop_load = gdk_pixbuf__bmp_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__bmp_image_load_increment;
|
module->load_increment = gdk_pixbuf__bmp_image_load_increment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (bmp, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "BM", NULL, 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/bmp",
|
||||||
|
"image/x-bmp",
|
||||||
|
"image/x-MS-bmp",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"bmp",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "bmp";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The BMP image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "gdk-pixbuf-io.h"
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
#include "io-gif-animation.h"
|
#include "io-gif-animation.h"
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#ifndef GDK_PIXBUF_GIF_H
|
#ifndef GDK_PIXBUF_GIF_H
|
||||||
#define GDK_PIXBUF_GIF_H
|
#define GDK_PIXBUF_GIF_H
|
||||||
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-animation.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
/* Keep this frame and composite next frame over it */
|
/* Keep this frame and composite next frame over it */
|
||||||
|
@ -138,8 +138,8 @@ struct _GifContext
|
|||||||
FILE *file;
|
FILE *file;
|
||||||
|
|
||||||
/* progressive read, only. */
|
/* progressive read, only. */
|
||||||
ModulePreparedNotifyFunc prepare_func;
|
GdkPixbufModulePreparedFunc prepare_func;
|
||||||
ModuleUpdatedNotifyFunc update_func;
|
GdkPixbufModuleUpdatedFunc update_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
guchar *buf;
|
guchar *buf;
|
||||||
guint ptr;
|
guint ptr;
|
||||||
@ -1396,9 +1396,9 @@ gdk_pixbuf__gif_image_load (FILE *file, GError **error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__gif_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__gif_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepare_func,
|
GdkPixbufModulePreparedFunc prepare_func,
|
||||||
ModuleUpdatedNotifyFunc update_func,
|
GdkPixbufModuleUpdatedFunc update_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -1560,11 +1560,35 @@ gdk_pixbuf__gif_image_load_animation (FILE *file,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__gif_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (gif, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__gif_image_load;
|
module->load = gdk_pixbuf__gif_image_load;
|
||||||
module->begin_load = gdk_pixbuf__gif_image_begin_load;
|
module->begin_load = gdk_pixbuf__gif_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__gif_image_stop_load;
|
module->stop_load = gdk_pixbuf__gif_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__gif_image_load_increment;
|
module->load_increment = gdk_pixbuf__gif_image_load_increment;
|
||||||
module->load_animation = gdk_pixbuf__gif_image_load_animation;
|
module->load_animation = gdk_pixbuf__gif_image_load_animation;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (gif, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "GIF8", NULL, 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/gif",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"gif",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "gif";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The GIF image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
/* GdkPixbuf library - Windows Icon/Cursor image loader
|
/* GdkPixbuf library - Windows Icon/Cursor image loader
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999 The Free Software Foundation
|
* Copyright (C) 1999 The Free Software Foundation
|
||||||
@ -23,7 +24,7 @@
|
|||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef DUMPBIH
|
#define DUMPBIH
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Icons are just like BMP's, except for the header.
|
Icons are just like BMP's, except for the header.
|
||||||
@ -124,8 +125,8 @@ struct headerpair {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct ico_progressive_state {
|
struct ico_progressive_state {
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
gint HeaderSize; /* The size of the header-part (incl colormap) */
|
gint HeaderSize; /* The size of the header-part (incl colormap) */
|
||||||
@ -160,9 +161,9 @@ struct ico_progressive_state {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__ico_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__ico_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
static gboolean gdk_pixbuf__ico_image_stop_load(gpointer 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
|
static gpointer
|
||||||
gdk_pixbuf__ico_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__ico_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -840,9 +841,39 @@ gdk_pixbuf__ico_image_load_increment(gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
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->begin_load = gdk_pixbuf__ico_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__ico_image_stop_load;
|
module->stop_load = gdk_pixbuf__ico_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__ico_image_load_increment;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,10 +65,10 @@ struct error_handler_data {
|
|||||||
|
|
||||||
/* progressive loader context */
|
/* progressive loader context */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ModuleSizeFunc size_func;
|
GdkPixbufModuleSizeFunc size_func;
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
GdkPixbuf *pixbuf;
|
GdkPixbuf *pixbuf;
|
||||||
guchar *dptr; /* current position in pixbuf */
|
guchar *dptr; /* current position in pixbuf */
|
||||||
@ -82,9 +82,9 @@ typedef struct {
|
|||||||
} JpegProgContext;
|
} JpegProgContext;
|
||||||
|
|
||||||
static GdkPixbuf *gdk_pixbuf__jpeg_image_load (FILE *f, GError **error);
|
static GdkPixbuf *gdk_pixbuf__jpeg_image_load (FILE *f, GError **error);
|
||||||
static gpointer gdk_pixbuf__jpeg_image_begin_load (ModuleSizeFunc func0,
|
static gpointer gdk_pixbuf__jpeg_image_begin_load (GdkPixbufModuleSizeFunc func0,
|
||||||
ModulePreparedNotifyFunc func1,
|
GdkPixbufModulePreparedFunc func1,
|
||||||
ModuleUpdatedNotifyFunc func2,
|
GdkPixbufModuleUpdatedFunc func2,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
static gboolean gdk_pixbuf__jpeg_image_stop_load (gpointer context, 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
|
gpointer
|
||||||
gdk_pixbuf__jpeg_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__jpeg_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -908,11 +908,37 @@ gdk_pixbuf__jpeg_image_save (FILE *f,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__jpeg_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (jpeg, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__jpeg_image_load;
|
module->load = gdk_pixbuf__jpeg_image_load;
|
||||||
module->begin_load = gdk_pixbuf__jpeg_image_begin_load;
|
module->begin_load = gdk_pixbuf__jpeg_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__jpeg_image_stop_load;
|
module->stop_load = gdk_pixbuf__jpeg_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__jpeg_image_load_increment;
|
module->load_increment = gdk_pixbuf__jpeg_image_load_increment;
|
||||||
module->save = gdk_pixbuf__jpeg_image_save;
|
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;
|
||||||
}
|
}
|
||||||
|
@ -358,8 +358,8 @@ struct _LoadContext {
|
|||||||
png_structp png_read_ptr;
|
png_structp png_read_ptr;
|
||||||
png_infop png_info_ptr;
|
png_infop png_info_ptr;
|
||||||
|
|
||||||
ModulePreparedNotifyFunc prepare_func;
|
GdkPixbufModulePreparedFunc prepare_func;
|
||||||
ModuleUpdatedNotifyFunc update_func;
|
GdkPixbufModuleUpdatedFunc update_func;
|
||||||
gpointer notify_user_data;
|
gpointer notify_user_data;
|
||||||
|
|
||||||
GdkPixbuf* pixbuf;
|
GdkPixbuf* pixbuf;
|
||||||
@ -386,9 +386,9 @@ struct _LoadContext {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__png_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__png_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepare_func,
|
GdkPixbufModulePreparedFunc prepare_func,
|
||||||
ModuleUpdatedNotifyFunc update_func,
|
GdkPixbufModuleUpdatedFunc update_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -888,14 +888,36 @@ cleanup:
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (png, fill_vtable) (GdkPixbufModule *module)
|
||||||
|
{
|
||||||
|
module->load = gdk_pixbuf__png_image_load;
|
||||||
|
module->begin_load = gdk_pixbuf__png_image_begin_load;
|
||||||
|
module->stop_load = gdk_pixbuf__png_image_stop_load;
|
||||||
|
module->load_increment = gdk_pixbuf__png_image_load_increment;
|
||||||
|
module->save = gdk_pixbuf__png_image_save;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__png_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (png, fill_info) (GdkPixbufFormat *info)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__png_image_load;
|
static GdkPixbufModulePattern signature[] = {
|
||||||
module->begin_load = gdk_pixbuf__png_image_begin_load;
|
{ "\x89PNG\r\n\x1a\x0a", NULL, 100 },
|
||||||
module->stop_load = gdk_pixbuf__png_image_stop_load;
|
{ NULL, NULL, 0 }
|
||||||
module->load_increment = gdk_pixbuf__png_image_load_increment;
|
};
|
||||||
module->save = gdk_pixbuf__png_image_save;
|
static gchar * mime_types[] = {
|
||||||
|
"image/png",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"png",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "png";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The PNG image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = GDK_PIXBUF_FORMAT_WRITABLE;
|
||||||
}
|
}
|
||||||
|
@ -53,8 +53,8 @@ typedef struct {
|
|||||||
} PnmIOBuffer;
|
} PnmIOBuffer;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
GdkPixbuf *pixbuf;
|
GdkPixbuf *pixbuf;
|
||||||
@ -81,9 +81,9 @@ typedef struct {
|
|||||||
} PnmLoaderContext;
|
} PnmLoaderContext;
|
||||||
|
|
||||||
static GdkPixbuf *gdk_pixbuf__pnm_image_load (FILE *f, GError **error);
|
static GdkPixbuf *gdk_pixbuf__pnm_image_load (FILE *f, GError **error);
|
||||||
static gpointer gdk_pixbuf__pnm_image_begin_load (ModuleSizeFunc size_func,
|
static gpointer gdk_pixbuf__pnm_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc func,
|
GdkPixbufModulePreparedFunc func,
|
||||||
ModuleUpdatedNotifyFunc func2,
|
GdkPixbufModuleUpdatedFunc func2,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
static gboolean gdk_pixbuf__pnm_image_stop_load (gpointer context, GError **error);
|
static gboolean gdk_pixbuf__pnm_image_stop_load (gpointer context, GError **error);
|
||||||
@ -804,9 +804,9 @@ gdk_pixbuf__pnm_image_load (FILE *f, GError **error)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__pnm_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__pnm_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -1030,10 +1030,45 @@ gdk_pixbuf__pnm_image_load_increment (gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__pnm_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (pnm, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__pnm_image_load;
|
module->load = gdk_pixbuf__pnm_image_load;
|
||||||
module->begin_load = gdk_pixbuf__pnm_image_begin_load;
|
module->begin_load = gdk_pixbuf__pnm_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__pnm_image_stop_load;
|
module->stop_load = gdk_pixbuf__pnm_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__pnm_image_load_increment;
|
module->load_increment = gdk_pixbuf__pnm_image_load_increment;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (pnm, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "P1", NULL, 100 },
|
||||||
|
{ "P2", NULL, 100 },
|
||||||
|
{ "P3", NULL, 100 },
|
||||||
|
{ "P4", NULL, 100 },
|
||||||
|
{ "P5", NULL, 100 },
|
||||||
|
{ "P6", NULL, 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/x-portable-anymap",
|
||||||
|
"image/x-portable-bitmap",
|
||||||
|
"image/x-portable-graymap",
|
||||||
|
"image/x-portable-pixmap",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"pnm",
|
||||||
|
"pbm",
|
||||||
|
"pgm",
|
||||||
|
"ppm",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "pnm";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The PNM/PBM/PGM/PPM image format family");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
/* GdkPixbuf library - SUNRAS image loader
|
/* GdkPixbuf library - SUNRAS image loader
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999 The Free Software Foundation
|
* Copyright (C) 1999 The Free Software Foundation
|
||||||
@ -67,8 +68,8 @@ struct rasterfile {
|
|||||||
/* Progressive loading */
|
/* Progressive loading */
|
||||||
|
|
||||||
struct ras_progressive_state {
|
struct ras_progressive_state {
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
gint HeaderSize; /* The size of the header-part (incl colormap) */
|
gint HeaderSize; /* The size of the header-part (incl colormap) */
|
||||||
@ -94,9 +95,9 @@ struct ras_progressive_state {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__ras_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__ras_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
static gboolean gdk_pixbuf__ras_image_stop_load(gpointer data, GError **error);
|
static gboolean gdk_pixbuf__ras_image_stop_load(gpointer data, GError **error);
|
||||||
@ -217,9 +218,9 @@ static gboolean RAS2State(struct rasterfile *RAS,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__ras_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__ras_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -502,10 +503,35 @@ gdk_pixbuf__ras_image_load_increment(gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__ras_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (ras, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->begin_load = gdk_pixbuf__ras_image_begin_load;
|
module->begin_load = gdk_pixbuf__ras_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__ras_image_stop_load;
|
module->stop_load = gdk_pixbuf__ras_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__ras_image_load_increment;
|
module->load_increment = gdk_pixbuf__ras_image_load_increment;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (ras, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "\x59\xa6\x6a\x95", NULL, 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/x-cmu-raster",
|
||||||
|
"image/x-sun-raster",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"ras",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "ras";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The Sun raster image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
/*
|
/*
|
||||||
* GdkPixbuf library - TGA image loader
|
* GdkPixbuf library - TGA image loader
|
||||||
* Copyright (C) 1999 Nicola Girardi <nikke@swlibero.org>
|
* Copyright (C) 1999 Nicola Girardi <nikke@swlibero.org>
|
||||||
@ -38,9 +39,8 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "gdk-pixbuf.h"
|
|
||||||
#include "gdk-pixbuf-io.h"
|
|
||||||
#include "gdk-pixbuf-private.h"
|
#include "gdk-pixbuf-private.h"
|
||||||
|
#include "gdk-pixbuf-io.h"
|
||||||
|
|
||||||
#undef DEBUG_TGA
|
#undef DEBUG_TGA
|
||||||
|
|
||||||
@ -139,8 +139,8 @@ struct _TGAContext {
|
|||||||
gboolean prepared;
|
gboolean prepared;
|
||||||
gboolean done;
|
gboolean done;
|
||||||
|
|
||||||
ModulePreparedNotifyFunc pfunc;
|
GdkPixbufModulePreparedFunc pfunc;
|
||||||
ModuleUpdatedNotifyFunc ufunc;
|
GdkPixbufModuleUpdatedFunc ufunc;
|
||||||
gpointer udata;
|
gpointer udata;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -802,9 +802,9 @@ static gboolean try_preload(TGAContext *ctx, GError **err)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gpointer gdk_pixbuf__tga_begin_load(ModuleSizeFunc f0,
|
static gpointer gdk_pixbuf__tga_begin_load(GdkPixbufModuleSizeFunc f0,
|
||||||
ModulePreparedNotifyFunc f1,
|
GdkPixbufModulePreparedFunc f1,
|
||||||
ModuleUpdatedNotifyFunc f2,
|
GdkPixbufModuleUpdatedFunc f2,
|
||||||
gpointer udata, GError **err)
|
gpointer udata, GError **err)
|
||||||
{
|
{
|
||||||
TGAContext *ctx;
|
TGAContext *ctx;
|
||||||
@ -1335,10 +1335,40 @@ static GdkPixbuf *gdk_pixbuf__tga_load(FILE *f, GError **err)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__tga_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (tga, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__tga_load;
|
module->load = gdk_pixbuf__tga_load;
|
||||||
module->begin_load = gdk_pixbuf__tga_begin_load;
|
module->begin_load = gdk_pixbuf__tga_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__tga_stop_load;
|
module->stop_load = gdk_pixbuf__tga_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__tga_load_increment;
|
module->load_increment = gdk_pixbuf__tga_load_increment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (tga, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ " \x1\x1", "x ", 100 },
|
||||||
|
{ " \x1\x9", "x ", 100 },
|
||||||
|
{ " \x2", "xz ", 99 }, /* only 99 since .CUR also matches this */
|
||||||
|
{ " \x3", "xz ", 100 },
|
||||||
|
{ " \xa", "xz ", 100 },
|
||||||
|
{ " \xb", "xz ", 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/x-tga",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"tga",
|
||||||
|
"targa",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "tga";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The Targa image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
|
}
|
||||||
|
@ -47,8 +47,8 @@
|
|||||||
typedef struct _TiffContext TiffContext;
|
typedef struct _TiffContext TiffContext;
|
||||||
struct _TiffContext
|
struct _TiffContext
|
||||||
{
|
{
|
||||||
ModulePreparedNotifyFunc prepare_func;
|
GdkPixbufModulePreparedFunc prepare_func;
|
||||||
ModuleUpdatedNotifyFunc update_func;
|
GdkPixbufModuleUpdatedFunc update_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
guchar *buffer;
|
guchar *buffer;
|
||||||
@ -361,9 +361,9 @@ gdk_pixbuf__tiff_image_load (FILE *f, GError **error)
|
|||||||
/* Progressive loader */
|
/* Progressive loader */
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__tiff_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__tiff_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepare_func,
|
GdkPixbufModulePreparedFunc prepare_func,
|
||||||
ModuleUpdatedNotifyFunc update_func,
|
GdkPixbufModuleUpdatedFunc update_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -560,10 +560,36 @@ gdk_pixbuf__tiff_image_load_increment (gpointer data, const guchar *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__tiff_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (tiff, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__tiff_image_load;
|
module->load = gdk_pixbuf__tiff_image_load;
|
||||||
module->begin_load = gdk_pixbuf__tiff_image_begin_load;
|
module->begin_load = gdk_pixbuf__tiff_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__tiff_image_stop_load;
|
module->stop_load = gdk_pixbuf__tiff_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__tiff_image_load_increment;
|
module->load_increment = gdk_pixbuf__tiff_image_load_increment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (tiff, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "MM \x2a", " z ", 100 },
|
||||||
|
{ "II\x2a ", " z", 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/tiff",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"tiff",
|
||||||
|
"tif",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "tiff";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The TIFF image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
/* GdkPixbuf library - Wireless Bitmap image loader
|
/* GdkPixbuf library - Wireless Bitmap image loader
|
||||||
*
|
*
|
||||||
* Copyright (C) 2000 Red Hat, Inc.
|
* Copyright (C) 2000 Red Hat, Inc.
|
||||||
@ -42,8 +43,8 @@ Known bugs:
|
|||||||
/* Progressive loading */
|
/* Progressive loading */
|
||||||
|
|
||||||
struct wbmp_progressive_state {
|
struct wbmp_progressive_state {
|
||||||
ModulePreparedNotifyFunc prepared_func;
|
GdkPixbufModulePreparedFunc prepared_func;
|
||||||
ModuleUpdatedNotifyFunc updated_func;
|
GdkPixbufModuleUpdatedFunc updated_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
gboolean need_type : 1;
|
gboolean need_type : 1;
|
||||||
@ -63,9 +64,9 @@ struct wbmp_progressive_state {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__wbmp_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__wbmp_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
@ -82,9 +83,9 @@ static gboolean gdk_pixbuf__wbmp_image_load_increment(gpointer data,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__wbmp_image_begin_load(ModuleSizeFunc size_func,
|
gdk_pixbuf__wbmp_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepared_func,
|
GdkPixbufModulePreparedFunc prepared_func,
|
||||||
ModuleUpdatedNotifyFunc updated_func,
|
GdkPixbufModuleUpdatedFunc updated_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -339,9 +340,33 @@ static gboolean gdk_pixbuf__wbmp_image_load_increment(gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__wbmp_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (wbmp, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->begin_load = gdk_pixbuf__wbmp_image_begin_load;
|
module->begin_load = gdk_pixbuf__wbmp_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__wbmp_image_stop_load;
|
module->stop_load = gdk_pixbuf__wbmp_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__wbmp_image_load_increment;
|
module->load_increment = gdk_pixbuf__wbmp_image_load_increment;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (wbmp, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ " ", "z", 1 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/vnd.wap.wbmp",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"wbmp",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "wbmp";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The WBMP image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
/* GdkPixbuf library - XBM image loader
|
/* GdkPixbuf library - XBM image loader
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999 Mark Crichton
|
* Copyright (C) 1999 Mark Crichton
|
||||||
@ -42,8 +43,8 @@
|
|||||||
typedef struct _XBMData XBMData;
|
typedef struct _XBMData XBMData;
|
||||||
struct _XBMData
|
struct _XBMData
|
||||||
{
|
{
|
||||||
ModulePreparedNotifyFunc prepare_func;
|
GdkPixbufModulePreparedFunc prepare_func;
|
||||||
ModuleUpdatedNotifyFunc update_func;
|
GdkPixbufModuleUpdatedFunc update_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
gchar *tempname;
|
gchar *tempname;
|
||||||
@ -361,9 +362,9 @@ gdk_pixbuf__xbm_image_load (FILE *f, GError **error)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__xbm_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__xbm_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepare_func,
|
GdkPixbufModulePreparedFunc prepare_func,
|
||||||
ModuleUpdatedNotifyFunc update_func,
|
GdkPixbufModuleUpdatedFunc update_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -443,10 +444,35 @@ gdk_pixbuf__xbm_image_load_increment (gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__xbm_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (xbm, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__xbm_image_load;
|
module->load = gdk_pixbuf__xbm_image_load;
|
||||||
module->begin_load = gdk_pixbuf__xbm_image_begin_load;
|
module->begin_load = gdk_pixbuf__xbm_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__xbm_image_stop_load;
|
module->stop_load = gdk_pixbuf__xbm_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__xbm_image_load_increment;
|
module->load_increment = gdk_pixbuf__xbm_image_load_increment;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (xbm, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "#define ", NULL, 100 },
|
||||||
|
{ "/*", NULL, 50 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/x-xbitmap",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"xbm",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "xbm";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The XBM image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
}
|
}
|
||||||
|
@ -1409,8 +1409,8 @@ gdk_pixbuf__xpm_image_load_xpm_data (const gchar **data)
|
|||||||
typedef struct _XPMContext XPMContext;
|
typedef struct _XPMContext XPMContext;
|
||||||
struct _XPMContext
|
struct _XPMContext
|
||||||
{
|
{
|
||||||
ModulePreparedNotifyFunc prepare_func;
|
GdkPixbufModulePreparedFunc prepare_func;
|
||||||
ModuleUpdatedNotifyFunc update_func;
|
GdkPixbufModuleUpdatedFunc update_func;
|
||||||
gpointer user_data;
|
gpointer user_data;
|
||||||
|
|
||||||
gchar *tempname;
|
gchar *tempname;
|
||||||
@ -1425,9 +1425,9 @@ struct _XPMContext
|
|||||||
* in the future.
|
* in the future.
|
||||||
*/
|
*/
|
||||||
static gpointer
|
static gpointer
|
||||||
gdk_pixbuf__xpm_image_begin_load (ModuleSizeFunc size_func,
|
gdk_pixbuf__xpm_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||||
ModulePreparedNotifyFunc prepare_func,
|
GdkPixbufModulePreparedFunc prepare_func,
|
||||||
ModuleUpdatedNotifyFunc update_func,
|
GdkPixbufModuleUpdatedFunc update_func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
@ -1513,11 +1513,35 @@ gdk_pixbuf__xpm_image_load_increment (gpointer data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gdk_pixbuf__xpm_fill_vtable (GdkPixbufModule *module)
|
MODULE_ENTRY (xpm, fill_vtable) (GdkPixbufModule *module)
|
||||||
{
|
{
|
||||||
module->load = gdk_pixbuf__xpm_image_load;
|
module->load = gdk_pixbuf__xpm_image_load;
|
||||||
module->load_xpm_data = gdk_pixbuf__xpm_image_load_xpm_data;
|
module->load_xpm_data = gdk_pixbuf__xpm_image_load_xpm_data;
|
||||||
module->begin_load = gdk_pixbuf__xpm_image_begin_load;
|
module->begin_load = gdk_pixbuf__xpm_image_begin_load;
|
||||||
module->stop_load = gdk_pixbuf__xpm_image_stop_load;
|
module->stop_load = gdk_pixbuf__xpm_image_stop_load;
|
||||||
module->load_increment = gdk_pixbuf__xpm_image_load_increment;
|
module->load_increment = gdk_pixbuf__xpm_image_load_increment;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MODULE_ENTRY (xpm, fill_info) (GdkPixbufFormat *info)
|
||||||
|
{
|
||||||
|
static GdkPixbufModulePattern signature[] = {
|
||||||
|
{ "/* XPM */", NULL, 100 },
|
||||||
|
{ NULL, NULL, 0 }
|
||||||
|
};
|
||||||
|
static gchar * mime_types[] = {
|
||||||
|
"image/x-xpixmap",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static gchar * extensions[] = {
|
||||||
|
"xpm",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
info->name = "xpm";
|
||||||
|
info->signature = signature;
|
||||||
|
info->description = N_("The XPM image format");
|
||||||
|
info->mime_types = mime_types;
|
||||||
|
info->extensions = extensions;
|
||||||
|
info->flags = 0;
|
||||||
}
|
}
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__ani_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__bmp_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__gif_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__ico_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__jpeg_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__png_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__pnm_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__ras_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__tga_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__tiff_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__wbmp_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__xbm_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
gdk_pixbuf__xpm_fill_vtable
|
fill_vtable
|
||||||
|
fill_info
|
||||||
|
155
gdk-pixbuf/queryloaders.c
Normal file
155
gdk-pixbuf/queryloaders.c
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
/* -*- mode: C; c-file-style: "linux" -*- */
|
||||||
|
/* GdkPixbuf library
|
||||||
|
* queryloaders.c:
|
||||||
|
*
|
||||||
|
* Copyright (C) 2002 The Free Software Foundation
|
||||||
|
*
|
||||||
|
* Author: Matthias Clasen <maclas@gmx.de>
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Library General Public
|
||||||
|
* License along with this library; if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
#include <gmodule.h>
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#ifdef HAVE_UNISTD_H
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "gdk-pixbuf/gdk-pixbuf.h"
|
||||||
|
#include "gdk-pixbuf/gdk-pixbuf-private.h"
|
||||||
|
#include "gdk-pixbuf/gdk-pixbuf-io.h"
|
||||||
|
|
||||||
|
#if USE_LA_MODULES
|
||||||
|
#define SOEXT ".la"
|
||||||
|
#else
|
||||||
|
#define SOEXT ("." G_MODULE_SUFFIX)
|
||||||
|
#endif
|
||||||
|
#define SOEXT_LEN (strlen (SOEXT))
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_escaped (const char *str)
|
||||||
|
{
|
||||||
|
gchar *tmp = g_strescape (str, "");
|
||||||
|
printf ("\"%s\" ", tmp);
|
||||||
|
g_free (tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
query_module (const char *dir, const char *file)
|
||||||
|
{
|
||||||
|
char *path;
|
||||||
|
GModule *module;
|
||||||
|
void (*fill_info) (GdkPixbufFormat *info);
|
||||||
|
void (*fill_vtable) (GdkPixbufModule *module);
|
||||||
|
char **mime;
|
||||||
|
char **ext;
|
||||||
|
const GdkPixbufModulePattern *pattern;
|
||||||
|
|
||||||
|
if (g_path_is_absolute (dir))
|
||||||
|
path = g_build_filename (dir, file, NULL);
|
||||||
|
else {
|
||||||
|
char *cwd = g_get_current_dir ();
|
||||||
|
path = g_build_filename (cwd, dir, file, NULL);
|
||||||
|
g_free (cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module = g_module_open (path, 0);
|
||||||
|
if (module &&
|
||||||
|
g_module_symbol (module, "fill_info", (gpointer *) &fill_info) &&
|
||||||
|
g_module_symbol (module, "fill_vtable", (gpointer *) &fill_vtable)) {
|
||||||
|
printf("\"%s\"\n", path);
|
||||||
|
GdkPixbufFormat *info = g_new0 (GdkPixbufFormat, 1);
|
||||||
|
(*fill_info) (info);
|
||||||
|
printf("\"%s\" %d \"%s\" \"%s\"\n",
|
||||||
|
info->name, info->flags,
|
||||||
|
info->domain ? info->domain : GETTEXT_PACKAGE, info->description);
|
||||||
|
for (mime = info->mime_types; *mime; mime++) {
|
||||||
|
printf("\"%s\" ", *mime);
|
||||||
|
}
|
||||||
|
printf("\"\"\n");
|
||||||
|
for (ext = info->extensions; *ext; ext++) {
|
||||||
|
printf("\"%s\" ", *ext);
|
||||||
|
}
|
||||||
|
printf("\"\"\n");
|
||||||
|
for (pattern = info->signature; pattern->prefix; pattern++) {
|
||||||
|
print_escaped (pattern->prefix);
|
||||||
|
print_escaped (pattern->mask ? (const char *)pattern->mask : "");
|
||||||
|
printf ("%d\n", pattern->relevance);
|
||||||
|
}
|
||||||
|
printf ("\n");
|
||||||
|
g_free (info);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fprintf (stderr, "Cannot load loader %s\n", path);
|
||||||
|
}
|
||||||
|
if (module)
|
||||||
|
g_module_close (module);
|
||||||
|
g_free (path);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main (int argc, char **argv)
|
||||||
|
{
|
||||||
|
gint i;
|
||||||
|
|
||||||
|
printf ("# GdkPixbuf Image Loader Modules file\n"
|
||||||
|
"# Automatically generated file, do not edit\n"
|
||||||
|
"#\n");
|
||||||
|
|
||||||
|
if (argc == 1) {
|
||||||
|
#ifdef USE_GMODULE
|
||||||
|
const char *path;
|
||||||
|
|
||||||
|
path = g_getenv ("GDK_PIXBUF_MODULEDIR");
|
||||||
|
if (path == NULL || *path == '\0')
|
||||||
|
path = PIXBUF_LIBDIR;
|
||||||
|
|
||||||
|
printf ("# LoaderDir = %s\n#\n", path);
|
||||||
|
|
||||||
|
GDir *dir = g_dir_open (path, 0, NULL);
|
||||||
|
if (dir) {
|
||||||
|
const char *dent;
|
||||||
|
|
||||||
|
while ((dent = g_dir_read_name (dir))) {
|
||||||
|
gint len = strlen (dent);
|
||||||
|
if (len > SOEXT_LEN &&
|
||||||
|
strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) {
|
||||||
|
query_module (path, dent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_dir_close (dir);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
printf ("# dynamic loading of modules not supported\n");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
char *cwd = g_get_current_dir ();
|
||||||
|
|
||||||
|
for (i = 1; i < argc; i++)
|
||||||
|
query_module (cwd, argv[i]);
|
||||||
|
|
||||||
|
g_free (cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user