diff options
author | Tor Lillqvist <tml@novell.com> | 2008-03-20 23:24:45 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2008-03-20 23:24:45 +0000 |
commit | 6d15bbbe1da2a30a2bf4b519cd03bf3bc80ccfaf (patch) | |
tree | 7f865e3e03fc46190ca21516069defda81150860 /gdk-pixbuf/io-gdip-wmf.c | |
parent | 84fa2c6194c90ddaa05c353ab75fe89750f47677 (diff) | |
download | gtk+-6d15bbbe1da2a30a2bf4b519cd03bf3bc80ccfaf.tar.gz |
Import the GDI+ gdk-pixbuf loaders for Windows by Dominic Lachowicz and
2008-03-21 Tor Lillqvist <tml@novell.com>
Import the GDI+ gdk-pixbuf loaders for Windows by Dominic
Lachowicz and Alberto Ruiz into the GTK+ tree, from the
gdip-pixbuf-loader module.
* configure.in: Add switch --disable-gdiplus-loaders that disables
building of the GDI+ loaders.
When including loaders in the gdk-pixbuf library, either build in
abll the GDI+ ones or none of them. Use just -DINCLUDE_gdiplus in
$INCLUDED_LOADER_DEFINE to signal building them in.
Add Automake conditionals BUILD_GDIPLUS_LOADERS to indicate
whether the GDI+ loaders should be built and INCLUDE_GDIPLUS to
indicate whether they should be built-in.
For the rest of the changes, see gdk-pixbuf/ChangeLog.
In gdk-pixbuf:
* Makefile.am: Add the bits and pieces for the GDI+ loaders. When
building GDI+ loaders don't build the traditional ones for the
same formats. Always build the traditional PNG loader, though, as
it isn't possible to read and write PNG tEXt chunks through GDI+,
and GIMP at least needs that functionality in the gdk-pixbuf PNG
loader.
Either build all the GDI+ loaders (except the PNG one) into
libgdk-pixbuf, or build them all as DLLs. I don't see any reason
to enable cherry-picking among them whether to build in or not.
* io-gdip-animation.c
* io-gdip-animation.h
* io-gdip-bmp.c
* io-gdip-emf.c
* io-gdip-gif.c
* io-gdip-ico.c
* io-gdip-jpeg.c
* io-gdip-native.h
* io-gdip-png.c
* io-gdip-propertytags.h
* io-gdip-tiff.c
* io-gdip-utils.c
* io-gdip-utils.h
* io-gdip-wmf.c: New files. Note that io-gdip-png.c is not
currently used.
* gdk-pixbuf-io.c: Add the bits and pieces for built-in GDI+
loaders.
svn path=/trunk/; revision=19914
Diffstat (limited to 'gdk-pixbuf/io-gdip-wmf.c')
-rw-r--r-- | gdk-pixbuf/io-gdip-wmf.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/gdk-pixbuf/io-gdip-wmf.c b/gdk-pixbuf/io-gdip-wmf.c new file mode 100644 index 0000000000..3c89d4a3d7 --- /dev/null +++ b/gdk-pixbuf/io-gdip-wmf.c @@ -0,0 +1,63 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* GdkPixbuf library - Win32 GDI+ Pixbuf Loader + * + * Copyright (C) 2008 Dominic Lachowicz + * Copyright (C) 2008 Alberto Ruiz + * + * Authors: Dominic Lachowicz <domlachowicz@gmail.com> + * Alberto Ruiz <aruiz@gnome.org> + * + * 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 * 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. + */ + +#include "io-gdip-utils.h" + +#ifndef INCLUDE_gdiplus +#define MODULE_ENTRY(function) G_MODULE_EXPORT void function +#else +#define MODULE_ENTRY(function) void _gdk_pixbuf__gdip_wmf_ ## function +#endif + +MODULE_ENTRY (fill_vtable) (GdkPixbufModule *module) +{ + gdip_fill_vector_vtable (module); +} + +MODULE_ENTRY (fill_info) (GdkPixbufFormat *info) +{ + static GdkPixbufModulePattern signature[] = { + { "\xd7\xcd\xc6\x9a", NULL, 100 }, /* WMF */ + { "\x01\x00\x09\x00", NULL, 100 }, /* WMF */ + { NULL, NULL, 0 } + }; + + static gchar *mime_types[] = { + "image/x-wmf", + NULL + }; + + static gchar *extensions[] = { + "wmf", + "apm", + NULL + }; + + info->name = "wmf"; + info->signature = signature; + info->description = _("The WMF image format"); + info->mime_types = mime_types; + info->extensions = extensions; + info->flags = GDK_PIXBUF_FORMAT_THREADSAFE; + info->license = "LGPL"; +} |