Commit Graph

41 Commits

Author SHA1 Message Date
Jonathan Blandford
00b598d267 comment out debugging printing. remove memory_leak
2000-01-07  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
	debugging printing.
	* gdk-pixbuf/io-gif.c (gif_get_lzw): remove memory_leak
2000-01-07 19:18:54 +00:00
Jonathan Blandford
84c85a1a11 Added progressive animation loading. Added progressive animation loading.
2000-01-07  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
	* gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
	* gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
	loading.
	* gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
	loading.
	* gdk-pixbuf/io-gif.c (image_load_increment): I think the
	ref-counting mess is finally fixed.  Added progressive animation
	loading.

I think progressive animation loading all works now.  It's all
documented too, if anyone wants to play with it.
2000-01-07 18:29:13 +00:00
Jonathan Blandford
8f48c4b3cd Change the order of the update func to make it more compatible with the
2000-01-05  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
	to make it more compatible with the rest of GTK.  Added animation
	framework for progressive loading.

	* gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
	system.
	* gdk-pixbuf/io-ico.c (image_begin_load): ditto
	* gdk-pixbuf/io-png.c (image_begin_load): ditto
	* gdk-pixbuf/io-ras.c (image_begin_load): ditto
	* gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
	* gdk-pixbuf/io-pnm.c (image_begin_load): ditto
	* gdk-pixbuf/io-tiff.c (image_begin_load): ditto
	* gdk-pixbuf/io-gif.c (image_begin_load): ditto
2000-01-05 23:06:13 +00:00
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
Havoc Pennington
e4ce74f5b7 Stuff that should have been set to NULL here (specifically
1999-12-23  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
		set to NULL here (specifically context->animation) was not being
			set to NULL. use g_new0() to alloc the struct.
1999-12-24 02:21:33 +00:00
Jonathan Blandford
8c510f2ecf finished work to make animated gifs load correctly. Progressive loading
1999-12-20  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/io-gif.c: finished work to make animated gifs load
	correctly.  Progressive loading needs some work, but that all
	needs doing from the gdk-pixbuf-loader end, not here.
1999-12-20 22:51:05 +00:00
Jonathan Blandford
d8b35eab3e added a comment to explain this function better.
1999-12-03  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
	explain this function better.
1999-12-03 21:57:07 +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
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
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
Jonathan Blandford
76f716cec7 added the update_func ability
1999-11-04  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_get_lzw): added the update_func ability
1999-11-04 20:34:24 +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
Jonathan Blandford
7cdf9176e1 renamed ReadOK to gif_read. Added a lot of comments to the file.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_read): renamed ReadOK to gif_read.
	Added a lot of comments to the file.
1999-11-03 23:22:27 +00:00
Jonathan Blandford
5ee4989714 Remove dependency on lib*gif!!!!
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
	lib*gif!!!!

Also, some code cleanups to io-gif
1999-11-03 22:27:59 +00:00
Jonathan Blandford
5869210788 set the transparency to the right val.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_get_lzw): set the transparency to the right
          val.
1999-11-03 22:19:42 +00:00
Jonathan Blandford
677a78b56a now handle arbitrary buffer sizes.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (image_load_increment): now handle arbitrary buffer
	sizes.
1999-11-03 21:52:16 +00:00
Jonathan Blandford
87a9022b72 new state. Fixes un-compressed gifs.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (set_gif_lzw_clear_code): new state.  Fixes
	un-compressed gifs.

	* src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
	unneeded x,y,h,w vars.
1999-11-03 21:22:38 +00:00
Jonathan Blandford
a8ec2c3b9f s/lwz/lzw/g
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
1999-11-03 17:45:24 +00:00
Jonathan Blandford
66bf26d42d initialize a variable; kill a bug 1999-11-03 16:40:43 +00:00
3
59ab307a62 Read 'til the next empty block correctly, now.
1999-11-03    <jrb@redhat.com>

	* src/io-gif.c (gif_get_extension): Read 'til the next empty block
	correctly, now.
1999-11-03 05:12:02 +00:00
Jonathan Blandford
1588285e3a Fill in the gif's blank areas for interlacing and progressive loading.
1999-11-02  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
	for interlacing and progressive loading.
1999-11-03 00:20:27 +00:00
Jonathan Blandford
53d5c49dbb Now progressive gif loading works! It's a little slow though. )-:
1999-11-02  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_main_loop): Now progressive gif loading works!
	It's a little slow though. )-:
1999-11-02 23:49:22 +00:00
Jonathan Blandford
5dcc2ddd51 lots of lots of work. USE AT YOUR OWN RISK 1999-11-02 01:17:41 +00:00
Jonathan Blandford
827b818ed1 much more work on the progressive loader.
somewhere, some how, I broke something, )-: so all you get is a black
image.  Hopefully, we can load the real image later.
1999-11-01 13:26:03 +00:00
Jonathan Blandford
f3a218acc0 now gif loading works. Time to de-stiticify it and move onto progressive loading 1999-10-31 01:13:25 +00:00
Jonathan Blandford
4adda6ef1f quick hack to restore wotrkingness to regular gifs. Creates a RGBA buffer independent of the gif type. I'll try to get it right later. 1999-10-30 23:17:06 +00:00
0
bcad6d8598 (ReadImage): lets get the offset right. This will let transparent gifs
1999-10-30    <jrb@redhat.com>

	(ReadImage): lets get the offset right.  This will let transparent
	gifs work.


Right now, gifs with transparency, both interlaced and non-interlaced,
seem to work perfectly fine.  I haven't tried grayscale gifs yet, and I
seem to be getting offset in my RGB buffer with non-alpha gifs. )-:
This leads to pretty, but incorrect, images.

-Jonathan
1999-10-30 23:07:18 +00:00
0
bcf6c51c4c Some more work. Now it generates a gdk_pixbuf of the right size, at a
1999-10-30    <jrb@redhat.com>

	* src/io-gif.c: Some more work.  Now it generates a gdk_pixbuf of
	the right size, at a minimum, even if the image is squished and
	the wrong color.
1999-10-30 22:04:27 +00:00
Jonathan Blandford
2a2a599120 First run at the new gif format. Shouldn't work, unfortunately. 1999-10-30 19:28:53 +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
Federico Mena Quintero
7ef5dec32d Removed the unref_fn field. Now all memory management of the buffer is
1999-10-20  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
	all memory management of the buffer is done by libart.

	* src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
	Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.

	* src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
	terms of the libart functions.  Removed the old code.

	* src/gdk-pixbuf-io.c (image_handler_load): Removed the save
	symbols.  Saving will not be implemented in GdkPixbuf.

	* src/io-gif.c: Removed the saving stub.
	(image_load): Fixed memory management to fail gracefully if we run
	out of memory while loading the image.  Close the gif file when we
	are done.  This still needs more error handling for the DGif
	functions.

	* src/io-jpeg.c (image_load): Some robustness fixes.

	* src/io-png.c: Removed the saving stuff.
	(image_load): Some memory management fixes.

	* src/io-tiff.c (image_load): Ditto.

	* src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
1999-10-20 21:20:49 +00:00
Federico Mena Quintero
74268afdeb Reindented to use the GNOME Indentation.
1999-10-18  Federico Mena Quintero  <federico@redhat.com>

	* src/*: Reindented to use the GNOME Indentation.
1999-10-18 19:29:45 +00:00
Michael Meeks
6c13b03a45 Add pixbuf_duplicate,
Fix 'scale' API,
Add gdk_pixbuf_new,
clean io modules a tad.
1999-09-22 22:30:51 +00:00
Federico Mena Quintero
66779b9b26 Set the initial ref_count to 1.
1999-09-17  Federico Mena Quintero  <federico@redhat.com>

	* src/io-bmp.c (image_load): Set the initial ref_count to 1.

	* src/io-gif.c (image_load): Likewise.

	* src/io-jpeg.c (image_load): Likewise.

	* src/io-png.c (image_load): Likewise.

	* src/io-tiff.c (image_load): Likewise.

	* src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.

	* src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
	for the ref_count to be != 0.
1999-09-17 07:57:25 +00:00
Federico Mena Quintero
49ca2615f8 Fixed compiler warnings. Fixed write to unallocated memory (row_ptr), and
1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/io-png.c (image_save): Fixed compiler warnings.  Fixed write
	to unallocated memory (row_ptr), and fixed its type as well.  Take
	into account the ArtPixbuf's rowstride when assigning the row
	pointers.

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

	* src/gdk-pixbuf-io.c: Likewise.
1999-08-09 06:09:24 +00:00
Larry Ewing
e0fe931832 Fix a few memory leaks in the, most of them in error cases but one or two
1999-07-18  Larry Ewing  <lewing@gimp.org>

	* src/io-xpm.c:
	* src/io-gif.c:
	* src/io-png.c:
	* src/io-jpeg.c: Fix a few memory leaks in the, most of them in
	error cases but one or two in the common case.  There are probably
	a few small ones left.
1999-07-19 04:21:09 +00:00
Mark Crichton
de2313faf3 More fixes. See ChangeLog
More fixes.  See ChangeLog
1999-07-15 04:58:39 +00:00
Mark Crichton
68f895bd68 Massive update...
Massive update...

gdk-pixbuf-io.c: Fixed to compile and run in a very crippled state.

io-bpm.c: Rough start on a WIN/OS2 BMP loader

testpixbuf.c: Really crude test program for gdk-pixbuf

io-gif.c: Fixed some boneheaded uninitalized variables causing the
loader to choke
1999-07-08 16:04:16 +00:00
Mark Crichton
feb9789e64 io-gif.c, io-png.c: Actually put the licencing terms in the code now...
io-gif.c, io-png.c: Actually put the licencing terms in the code now...
io-xpm.c: XPM parser baed off of gdk's, but this does something with the
transparent colors.
1999-06-30 15:28:43 +00:00
Mark Crichton
42311804a4 io-png.c: changed g_malloc call for pixles to art_alloc (to be "correct")
io-png.c: changed g_malloc call for pixles to art_alloc (to be "correct")

io-gif.c: implemented GIF file loading.
1999-06-29 06:07:14 +00:00