Commit Graph

158 Commits

Author SHA1 Message Date
Richard Hughes
60e0183ac9 Add icc-profile option to gdk-pixbuf for the TIFF image format 2009-12-21 08:53:28 +00:00
Richard Hughes
ba651d4022 Add color management support to gdk_pixbuf_save
This patch adds an icc-profile option to a GdkPixbuf which can
be used to read or write an embedded ICC profile.

Add PNG support for now, but other image formats are awaiting
review.
2009-12-18 15:17:13 +00:00
Christian Dywan
e72435f9d0 Implement "compression" option in the TIFF pixbuf loader
This enables applications to read out the compression of a TIFF image
and also makes it possible to apply the same or a different
compression when saving.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=584700
2009-11-30 13:55:12 +01:00
Kevin Peng
4b22b461b6 GdkPixbuf loader for QTIF format
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=366217
2009-10-26 00:08:08 +01:00
Shixin Zeng
e10db38f0d Put variable definitions at start of block 2009-08-20 23:51:38 +03:00
Sam Thursfield
ad3be19251 Make gdk-pixbuf-csource work on Windows also in the build tree.
Patch from bug #590448.
2009-08-02 10:40:13 +03:00
Benjamin Otte
1a385c50f0 fix compile warnings
Fallout from running make CFLAGS="-Werror"; mostly missing casts and
constness issues.
2009-06-17 10:28:03 +02:00
Matthias Clasen
de3cc27706 Cleanup some translation handling
Use g_*gettext functions in gdk-pixbuf instead direct gettext
calls to benefit from the maybe-dont-translate functionality
in GLib. Also, replace a hand-rolled version by g_dpgettext2
in gtkbuilderparser.c. Fixes bug 585791.
2009-06-15 18:25:04 -04:00
Matthias Clasen
d5a09342c4 If pure sniffing yields uncertain results, try again with the filename.
* gdk-pixbuf-io.c (_gdk_pixbuf_get_module): If pure sniffing
        yields uncertain results, try again with the filename.
        Patch by Tyler Lawson


svn path=/trunk/; revision=22433
2009-03-01 07:39:03 +00:00
Cody Russell
98f9ba55e8 Bug 571576 – gdk_pixbuf_save_to_stream() broken
2009-02-12  Cody Russell  <bratsche@gnome.org>

        Bug 571576 – gdk_pixbuf_save_to_stream() broken

        * gdk-pixbuf/gdk-pixbuf-io.c: Fix gdk_pixbuf_save_to_stream() so that
        it does not always return FALSE (even when it succeeds), and also so
        that it does not set error to NULL when something goes wrong.


svn path=/trunk/; revision=22322
2009-02-13 01:25:36 +00:00
Matthias Clasen
54000d0ede Bug 566862 – pixbuf_new_from_file does not autodetect format
2009-01-07  Matthias Clasen  <mclasen@redhat.com>

        Bug 566862 – pixbuf_new_from_file does not autodetect format

        * gdk-pixbuf-io.c (_gdk_pixbuf_get_module): Go back to sniffing
        without looking at the filename, to avoid breaking expected
        functionality.


svn path=/trunk/; revision=22073
2009-01-07 15:02:33 +00:00
Matthias Clasen
661fbdfa26 Plug a small memory leak
svn path=/trunk/; revision=21451
2008-09-19 14:34:22 +00:00
Tor Lillqvist
4125df1d8e gdk-pixbuf/gdk-pixbuf-io.c Don't use the deprectated
2008-09-13  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf/gdk-pixbuf-io.c
	* gtk/gtkmain.c: Don't use the deprectated
	g_win32_get_package_installation_directory() and
	g_win32_get_package_installation_subdirectory() functions. Use
	g_win32_get_package_installation_directory_of_module()
	instead. Also, don't use the deprecated silly
	G_WIN32_DLLMAIN_FOR_DLL_NAME macro, but an explicit minimal
	DllMain() that just saves the DLL handle.


svn path=/trunk/; revision=21381
2008-09-13 19:31:29 +00:00
Tor Lillqvist
b2dff511d3 gdk-pixbuf/gdk-pixbuf-io.c Do as the docs for
2008-09-13  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf/gdk-pixbuf-io.c
	* gtk/gtkmain.c: Do as the docs for
	g_win32_get_package_installation_directory() say and pass NULL as
	the first parameter.


svn path=/trunk/; revision=21379
2008-09-13 09:19:03 +00:00
Matthias Clasen
ef5855feb1 Another small leak
svn path=/trunk/; revision=21316
2008-09-08 02:39:38 +00:00
Matthias Clasen
d8f4295267 Plug a small memory leak in an error path
svn path=/trunk/; revision=21313
2008-09-07 21:37:34 +00:00
Sebastien Bacher
1e3251a26e bug 550969 - fix a typo which breaks the static build
2008-09-05  Sebastien Bacher  <seb128@ubuntu.com>

	* gdk-pixbuf-io.c: (gdk_pixbuf_load_module_unlocked):
	bug 550969 - fix a typo which breaks the static build

svn path=/trunk/; revision=21303
2008-09-05 20:52:40 +00:00
Matthias Clasen
956f834939 Fix a deadlock in pixbuf loader initialization
svn path=/trunk/; revision=21295
2008-09-05 01:01:22 +00:00
Matthias Clasen
266e482286 Bug 549711 – Race condition when loading gdk-pixbuf image modules
2008-09-03  Matthias Clasen  <mclasen@redhat.com>

        Bug 549711 – Race condition when loading gdk-pixbuf image modules

        * gdk-pixbuf-io.c: Fix a race condition in module loading,
        spotted by Chris Lord.


svn path=/trunk/; revision=21268
2008-09-03 23:12:55 +00:00
Matthias Clasen
e0d3046a7e Fix a typo
svn path=/trunk/; revision=21220
2008-08-28 03:49:25 +00:00
Matthias Clasen
830a9d2710 More correct content type handling
svn path=/trunk/; revision=20897
2008-07-23 04:20:15 +00:00
Matthias Clasen
1ea43444be test content sniffing capability of gio
svn path=/trunk/; revision=20837
2008-07-15 16:33:24 +00:00
Matthias Clasen
e67da00f16 Improve docs for gdk_pixbuf_new_from_file_at_scale(). Proposed by Juan
* gdk-pixbuf-io.c: Improve docs for gdk_pixbuf_new_from_file_at_scale().
        Proposed by Juan Manuel Palacios


svn path=/trunk/; revision=20828
2008-07-15 02:26:16 +00:00
Matthias Clasen
cf793d109e Use GIO for sniffing image types, except on Win32, where GIO doesn't do
2008-07-11  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-io.c: Use GIO for sniffing image types, except
        on Win32, where GIO doesn't do any sniffing.


svn path=/trunk/; revision=20820
2008-07-12 02:37:35 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Christian Persch
446f41757b Use g_set_error_literal where appropriate. Bug #538640.
svn path=/trunk/; revision=20463
2008-06-19 12:47:48 +00:00
Matthias Clasen
9038f2ce98 Bug 535453 - gdk_pixbuf_format_get_license returns NULL for
any of the loaders

        * queryloaders.c (write_loader_info): Add the license info
        after the description.

        * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Read the license info
        from the module file. Reported by Andrey Tsyvarev.


svn path=/trunk/; revision=20241
2008-05-29 21:04:52 +00:00
Tor Lillqvist
59596e699f Use explicit G_MODULE_EXPORT decoration when building the loader in
2008-05-27  Tor Lillqvist  <tml@novell.com>

	* io-*.c: Use explicit G_MODULE_EXPORT decoration when building
	the loader in question as a module.

	* gdk-pixbuf-io.c: Enable included build of the icns and jasper
	loaders.


svn path=/trunk/; revision=20192
2008-05-27 16:51:33 +00:00
Björn Lindqvist
8fce9eab79 Guard against NULL pointer. (#467051, Gian Mario Tagliaretti)
2008-03-23  Björn Lindqvist  <bjourne@gmail.com>

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Guard
	against NULL pointer. (#467051, Gian Mario Tagliaretti)


svn path=/trunk/; revision=19929
2008-03-23 18:27:03 +00:00
Tor Lillqvist
6d15bbbe1d 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
2008-03-20 23:24:45 +00:00
Matthias Clasen
45e33fe9c2 Go back to 2.13.0 as version for now, as there was no consensus to do the
2008-02-15  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Go back to 2.13.0 as version for now,
        as there was no consensus to do the jump.

        * many other places: Update Since: tags.



svn path=/trunk/; revision=19586
2008-02-15 23:42:42 +00:00
Matthias Clasen
0eb4770cfa Don't let the width or height go below 1. (#516024, Christian Persch)
2008-02-12  Matthias Clasen  <mclasne@redhat.com>

        * gdk-pixbuf-io.c (at_scale_size_prepared_cb): Don't let
        the width or height go below 1.  (#516024, Christian Persch)



svn path=/trunk/; revision=19534
2008-02-12 16:35:02 +00:00
Matthias Clasen
00a56fc2ab Handle partial writes.
2008-01-15  Matthias Clasen  <mclasne@redhat.com>

        * gdk-pixbuf-io.c (save_to_stream): Handle partial writes.



svn path=/trunk/; revision=19380
2008-01-16 17:38:13 +00:00
Michael Natterer
7932cfb669 fix signature of this function and propagate errors from
2008-01-16  Michael Natterer  <mitch@imendio.com>

	* gdk-pixbuf-io.c (save_to_stream): fix signature of this function
	and propagate errors from g_output_stream_write(). Return error
	also on incomplete writes (which don't generate an error by
	themselves).

	Unrelated:

	(gdk_pixbuf_io_init): initialize "builtin_module" on a separate
	line to avoid compiler warning in the common case of no built-in
	modules.


svn path=/trunk/; revision=19378
2008-01-16 14:35:46 +00:00
Matthias Clasen
65cdbb25a8 Add stream i/o functions for gdk-pixbuf
svn path=/trunk/; revision=19373
2008-01-16 02:24:47 +00:00
Tor Lillqvist
f6783c7466 Enable having some gdk-pixbuf loaders built-in even if loading the others
2006-10-11  Tor Lillqvist  <tml@novell.com>

	* configure.in: Enable having some gdk-pixbuf loaders built-in
	even if loading the others dynamically. Define Automake
	conditional INCLUDE_FOO for each loader as TRUE if that loader is
	built-in. See also gdk-pixbuf/ChangeLog.

2006-10-11  Tor Lillqvist  <tml@novell.com>

	Enable having some loaders built-in even if loading the others
	dynamically. Have loaders in the same order as in configure.in in
	all places where they are handled/listed.

	* Makefile.am: Define the STATIC_FOO_LIB and FOO_LIB macros
	conditionally depending on whether said loader is built-in or
	not. Use the names libstatic-pixbufloader-foo.la instead of
	libpixbufloader-static-foo.la for the built-in ones so that the
	"echo libpixbufloader-*.la" won't match them.

	* gdk-pixbuf-io.c: Reorganize code as to plumb the built-in
	loaders also if USE_GMODULE. Don't warn about a missing
	gdk-pixbuf.loaders file if we have at least one included loader.

	* gdk-pixbuf-private.h
	* io-*.c: Don't define a generic MODULE_ENTRY, as we can't use it
	in the loaders anyway. Each loader needs to check if INCLUDE_foo
	is defined.
2006-10-11 12:41:14 +00:00
Matthias Clasen
241ff0b6bd Cleanups 2006-10-08 05:32:07 +00:00
Matthias Clasen
f45a35921a Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:39:16 +00:00
Matthias Clasen
b34a2576d1 Stop loading an animation if the first frame is complete. (#350911,
2006-08-16  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale):
	Stop loading an animation if the first frame is complete.
	(#350911, Christian Neumair)
2006-08-16 06:01:09 +00:00
Matthias Clasen
2d281ed53d Always save errno to a temporary before making other calls. (#335179,
2006-03-20  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-animation.c:
        * gdk-pixbuf-io.c:
        * io-xpm.c:
        * io-xbm.c:
        * io-gif.c: Always save errno to a temporary before making
        other calls.  (#335179, Morten Welinder)
2006-03-20 20:09:51 +00:00
Anders Carlsson
38089f4344 Update documentation now that tiff supports saving.
2006-02-28  Anders Carlsson  <andersca@imendio.com>

        * gdk-pixbuf-io.c:
        Update documentation now that tiff supports saving.

        * io-tiff.c:
        (tiff_load_read):
        (tiff_load_write):
        (tiff_load_seek):
        (tiff_load_close):
        (tiff_load_size):
        (tiff_load_map_file):
        (tiff_load_unmap_file):
        (gdk_pixbuf__tiff_image_stop_load):
        Rename callback functions that are used during loading.

        (tiff_save_read):
        (tiff_save_write):
        (tiff_save_seek):
        (tiff_save_close):
        (tiff_save_size):
        (create_save_context):
        (free_save_context):
        New callback functions which operate on a memory buffer.

        (gdk_pixbuf__tiff_image_save_to_callback):
        Implement saving of pixbufs to tiffs.

        (save_to_file_cb):
        (gdk_pixbuf__tiff_image_save):
        New function that saves a pixbuf to a FILE handle. Uses
        save_to_callback.

        (fill_vtable):
        Add new functions.

        (fill_info):
        Change flags since this module supports writing now.
2006-02-28 09:48:49 +00:00
Jonathan Blandford
4faad6e726 minor doc edit 2005-12-30 06:02:04 +00:00
Matthias Clasen
0a876523eb Use G_MODULE_BIND_LAZY when opening modules.
2005-12-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c (gtk_file_system_module_load):
	* gtk/gtkimmodule.c (gtk_im_module_load):
	* gtk/gtkthemes.c (gtk_theme_engine_load):
	* gtk/gtkmodules.c (find_module): Use G_MODULE_BIND_LAZY when
	opening modules.
2005-12-16 19:06:09 +00:00
Matthias Clasen
73a27a3cee Use a 1k buffer for sniffing image formats, instead of 128 or 256 bytes.
2005-10-03  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
	* gdk-pixbuf-loader.c: Use a 1k buffer for sniffing image formats,
	instead of 128 or 256 bytes.  (#317225, Sebastien Bacher,
	Dom Lachowicz)
2005-10-03 15:07:35 +00:00
Matthias Clasen
a4b3c35828 Make this work again.
2005-08-30  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-io.c (format_check): Make this work again.
2005-08-30 16:55:49 +00:00
Matthias Clasen
0aa27306aa Add a cast to avoid compiler warnings.
2005-08-30  Matthias Clasen  <mclasen@redhat.com>

	* io-png.c (png_save_to_callback_write_func): Add a cast
	to avoid compiler warnings.

	* pixops/timescale.c (main): Declare src_buf, dest_buf as
	unsigned to avoid compiler warnings.

	* gdk-pixbuf-io.h: Declare the prefix and mask members of
	GdkPixbufModulePattern as char*, to avoid compiler warnings.

	* io-ani.c (ani_load_chunk): Use g_try_new() in some places.
2005-08-30 15:07:12 +00:00
Matthias Clasen
da260ce835 Make anchored patterns work as they did before.
2005-07-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-io.c (format_check): Make anchored patterns work
	as they did before.
2005-07-22 15:34:32 +00:00
Matthias Clasen
804083681e Interpret patterns where the first byte of the mask is '*' as unanchored.
2005-07-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-io.c (format_check): Interpret patterns where
	the first byte of the mask is '*' as unanchored.  (#311011)
	(gdk_pixbuf_new_from_file): Use the first 256 bytes for
	sniffing the file format.
2005-07-22 04:37:27 +00:00
Matthias Clasen
e1e07ce4f1 Allow -1 for width/height and interpret them as "not constrained".
2005-07-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): Allow
	-1 for width/height and interpret them as "not constrained".
	(#309258, Mark McLoughlin)
2005-07-01 16:52:33 +00:00
Sven Neumann
3bc682d012 allow to specify the PNG compression level by passing a "compression"
2005-05-24  Sven Neumann  <sven@gimp.org>

	* io-png.c: allow to specify the PNG compression level by passing
	a "compression" parameter to the PNG save function (bug #305337).

	* gdk-pixbuf-io.c (gdk_pixbuf_save): document the new parameter.
2005-05-24 17:09:56 +00:00