Commit Graph

27 Commits

Author SHA1 Message Date
Federico Mena Quintero
6e3522ab2c Added reference counting to animations. A web browser may want to share a
2000-01-01  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
	counting to animations.  A web browser may want to share a single
	copy of an animated GIF if it appears multiple times in a web
	page, for example.

	* gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
	animation functions here.
	(gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
	animation if the loader does not support multiframe loading and
	the single-frame load returned NULL.  Check that the filename is
	not NULL.  Updated inline documentation.
	(gdk_pixbuf_animation_ref): New function.
	(gdk_pixbuf_animation_unref): New function.
	Removed gdk_pixbuf_animation_destroy() in favor of reference
	counting.

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
	Prettified.  Made ref_count assertion more paranoid.  Check that
	the filename is not NULL.
	(gdk_pixbuf_get_module): Use guchar * and guint for buffer and
	size, respectively.
	(gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
	const char **.

	* gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
	with a reference count of 1.

	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
	gdk-pixbuf-animation.c.

	* doc/tmpl/animation.sgml: Populated.  It is still missing a
	description of the overlay modes.

	* doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
	the canvas item section to the end, as it will be moved later to
	gnome-libs.

	* doc/gdk-pixbuf.sgml: Added the animation section.

	* doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
2000-01-02 03:59:22 +00:00
Jonathan Blandford
d4984ede33 moved the file here. It seems natural to put this function here, as that's
1999-12-17  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
	moved the file here.  It seems natural to put this function here,
	as that's where the gdk_pixbuf_new_from_file function is, but it's
	still a little convoluted.  The source files might be played with
	in a bit.
1999-12-17 21:42:47 +00:00
Federico Mena Quintero
25a8142429 #include <config.h>, and fix includes.
1999-12-02  Federico Mena Quintero  <federico@redhat.com>

	* src/testpixbuf.c: #include <config.h>, and fix includes.

	* src/testpixbuf-drawable.c: #include <config.h>, and fix includes.

	* src/io-xpm.c: Fix includes.

	* src/io-tiff.c: Fix includes.

	* src/io-ras.c: Fix includes, and do not include more stuff than needed.

	* src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.

	* src/io-png.c: Fix includes.

	* src/io-ico.c: Fix includes, and do not include more stuff than needed.

	* src/io-gif.c: Fix includes, and do not include more stuff than needed.

	* src/io-bmp.c: Fix includes, and do not include more stuff than needed.

	* src/gnome-canvas-pixbuf.c: Fix includes.

	* src/gdk-pixbuf.c: Fix includes.

	* src/gdk-pixbuf-util.c: Fix includes.

	* src/gdk-pixbuf-render.c: Fix includes.

	* src/gdk-pixbuf-io.h: Fix includes.

	* src/gdk-pixbuf-drawable.c: Fix includes.

	* src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
	include files.

	* src/gdk-pixbuf-data.c: Fix includes.

	* src/gdk-pixbuf-loader.c: #include <config.h>

	* src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
	include files.

	* src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
	since it is not finished.
1999-12-02 20:44:43 +00:00
Elliot Lee
2421aab193 Uniquify the strings to save some memory. Make it build. No imlib! Include
* libgnomeui/gnome-stock-ids.[ch],libgnomeui/gnome-init.[ch],libgnome/gnomelib-init*.[ch]:
  Uniquify the strings to save some memory.
* test-gnome/*.c: Make it build.
* configure.in: No imlib!
* libgnomeui/libgnomeui.h: Include gnome-druid-page-edge.h, not -start.h
1999-11-23 20:03:14 +00:00
Jonathan Blandford
14237d13e2 make the symlink. Does not work for srcdir != buildir != . Beats me why; I
1999-11-22  Jonathan Blandford  <jrb@redhat.com>

	* configure.in (GDK_PIXBUF_DIR): make the symlink.  Does not work
	for srcdir != buildir != .  Beats me why; I can't figure it out.
	AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
1999-11-22 20:43:58 +00:00
Federico Mena Quintero
cfb0266518 Populated.
1999-11-10  Federico Mena Quintero  <federico@redhat.com>

	* doc/tmpl/gdk-pixbuf-loader.sgml: Populated.

	* doc/gdk-pixbuf.signals: Put in the real names of signal
	arguments.

	* src/gdk-pixbuf-loader.c: Improved documentation comments.
1999-11-10 22:48:46 +00:00
Jonathan Blandford
827c4c6d21 forgot this 1999-11-10 21:11:26 +00:00
Jonathan Blandford
19b42c342f emit the closed signal.
1999-11-10  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
	closed signal.
1999-11-10 21:06:40 +00:00
Arturo Espinosa
9d8da16ee9 More docs work - Federico 1999-11-04 21:52:08 +00:00
Jonathan Blandford
d0ed72ee14 handle the actual update. add a update_func callback. add a update_func
1999-11-04  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
	actual update.
	* src/io-png.c (image_begin_load): add a update_func callback.
	* src/io-gif.c (image_begin_load): add a update_func callback.
	* src/io-tiff.c (image_begin_load): add a update_func callback.
1999-11-04 18:18:07 +00:00
Elliot Lee
587d91caad Make the arguments to the write/load_increment operations const-correct.
* src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
write/load_increment operations const-correct.
1999-11-02 23:44:32 +00:00
Elliot Lee
b953e64bc6 Always return the amount eaten, rather than the full header size.
Always return the amount eaten, rather than the full header size.
1999-11-02 21:49:46 +00:00
Elliot Lee
966ae7b613 Return TRUE if all the data got eaten by header_buf, instead of FALSE.
Return TRUE if all the data got eaten by header_buf, instead of FALSE.
1999-11-02 20:20:05 +00:00
Elliot Lee
bf146c95a1 Reorganize gdk_pixbuf_loader_write into three functions, and eliminate
* src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into three functions, and eliminate
duplication of code from write() and close(). Also fix bug where the 128-byte header was being
written twice.
1999-11-02 16:10:25 +00:00
Michael Fulbright
5749f310e4 Actually load the image handler when we determine the image type.
1999-10-29  Michael Fulbright  <drmike@redhat.com>

        * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
        load the image handler when we determine the image type.

        * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
        previously static function load_image_handler () to
        a public function gdk_pixbuf_load_module (). It is needed in
        gdk-pixbuf-loader.c to load image handler modules.  This function
        is different from gdk_pixbuf_get_module (), which only returns
        a reference to the required handler, because it actually loads
        the handler into memory. Both actions should possibly be combined
        in a convenience function since one w/o the other doesn't seem to
        make much sense.
1999-10-29 19:27:51 +00:00
Jonathan Blandford
7e96137070 don't send a 0 length buffer.
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
	0 length buffer.
1999-10-28 19:30:11 +00:00
Jonathan Blandford
5a8b538ee1 started work on the tiff non-incremental loader.
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	* src/io-tiff.c (image_load_increment): started work on the tiff
	non-incremental loader.

	* src/io-gif.c (image_load_increment): started work on the gif
	incremental loader.

	* src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
1999-10-28 14:46:46 +00:00
Arturo Espinosa
9ee4ff5eee Make it build - Federico 1999-10-27 19:15:37 +00:00
Havoc Pennington
5ebe49fdbd Fix typo that prevented compilation (gdk_pixbuf_loader_destroy): ditto
1999-10-27  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
Fix typo that prevented compilation
(gdk_pixbuf_loader_destroy): ditto
1999-10-27 18:24:05 +00:00
Federico Mena Quintero
23b0f15ee8 Return a GdkPixbufLoader, not a GtkObject.
1999-10-27  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
	GdkPixbufLoader, not a GtkObject.
	(gtk_marshal_NONE__INT_INT_INT_INT): Made static.
	(gdk_pixbuf_loader_get_type): Documented.
	(gdk_pixbuf_loader_class_init): Initialize the parent class
	correctly.
	(gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
	class destroy function.
	(gdk_pixbuf_loader_new): Documented.
	(gdk_pixbuf_loader_finalize): Call the parent class finalize
	function.
	(gdk_pixbuf_loader_write): Use size_t for count.
1999-10-27 17:31:07 +00:00
Havoc Pennington
1a0a5d0399 New function to create a blank pixbuf.
1999-10-27  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf.c (gdk_pixbuf_new): New function to create a
blank pixbuf.

* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Check all
three progressive load funcs are non-NULL, rather than checking
begin_load three times. Also, check whether begin_load returns
NULL on failure.
1999-10-27 17:28:44 +00:00
Michael Fulbright
e8242a24eb Fixed logic so we only try to close loader if it wasn't previously closed.
1999-10-27  Michael Fulbright  <msf@redhat.com>

        * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
        logic so we only try to close loader if it wasn't previously closed.
1999-10-27 17:08:21 +00:00
Michael Fulbright
14cb9e710a gdk-pixbuf-loader.c: Fixed init function to properly initialize all
structure members.

testpixbuf.c: Added call to close and destroy pixbuf loader properly.
1999-10-27 16:41:44 +00:00
Jonathan Blandford
eacb3ad51f load the vtable fully.
1999-10-26  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
1999-10-26 23:26:16 +00:00
Jonathan Blandford
2ff92119aa Finished initial cut at the object.
1999-10-26  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c: Finished initial cut at the object.
1999-10-26 23:19:49 +00:00
Jonathan Blandford
e5dfd2f5da more work on the incremental loading 1999-10-26 20:43:39 +00:00
Jonathan Blandford
cfc2866019 started work on the loader 1999-10-26 03:42:14 +00:00