1999-11-04 Jonathan Blandford * 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 Federico Mena Quintero * doc/tmpl/gdk-pixbuf.sgml: Populated. * doc/tmpl/refcounting.sgml: Populated. * doc/tmpl/file-loading.sgml: Populated. * src/gdk-pixbuf.c: Added documentation comments. * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added documentation comments. * doc/: Finished integrating the documentation framework. 1999-11-03 Federico Mena Quintero * configure.in: Removed libgif stuff now that we do not depend on it. Added the necessary cruft for gtk-doc. * src/Makefile.am: Unconditionally build the GIF loader. 1999-11-03 Jonathan Blandford * src/io-gif.c (gif_read): renamed ReadOK to gif_read. Added a lot of comments to the file. * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on lib*gif!!!! 1999-11-03 Michael Fulbright * src/io-jpeg.c (image_load_increment): Further removal of bugginess in local buffering code. Handles grayscale jpegs correctly now. * src/io-jpeg.c (image_load_stop): Was freeing local context for jpeg library before calling jpeg_decompres_finish (). 1999-11-03 Jonathan Blandford * src/io-gif.c (image_load_increment): now handle arbitrary buffer sizes. (gif_get_lzw): set the transparency to the right val. 1999-11-03 Federico Mena Quintero * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init): Initiailize the x and y fields. (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction. (PixbufPrivate): Renamed need_size_update to need_xform_update. (recompute_bounding_box): Do not use temporary values. 1999-11-03 Jonathan Blandford * 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 Larry Ewing * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust render_affine calculation for x,y offsets. (gnome_canvas_pixbuf_set_arg): add x,y args. (gnome_canvas_pixbuf_get_arg): add x,y args. (recompute_bounding_box): simply code using ArtDrect and the render_affine. Removed compute_xform_vectors as it was no longer needed. 1999-11-03 Federico Mena Quintero * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a doofus. Return a distance, not a boolean, for opaque images. * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper rounding of bounding box coordinates. (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method. (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value. 1999-11-03 Jonathan Blandford * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g 1999-11-03 Michael Fulbright * src/io-jpg.c (image_load_increment): Fixed code which moved buffer around as new data comes in to work properly. JPEG progressive loading should be working now except for grayscale JPEG's, which I will look into next. 1999-11-03 * src/testpixbuf.c: A GtkFunction needs to return a value for deterministic behaviour. Also put dot printing back in. 1999-11-03 * src/io-gif.c (gif_get_extension): Read 'til the next empty block correctly, now. 1999-11-02 Cody Russell * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL if part of the requested image is offscreen, rather than clipping the image. 1999-11-02 Jonathan Blandford * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas for interlacing and progressive loading. 1999-11-02 Cody Russell * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new(). 1999-11-02 Jonathan Blandford * src/io-gif.c (gif_main_loop): Now progressive gif loading works! It's a little slow though. )-: 1999-11-02 Elliot Lee * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the write/load_increment operations const-correct. 1999-11-02 Federico Mena Quintero * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): Implemented the ::point() method. We do a simple containment test instead of a full distance calculation since the canvas is going to change to that scheme, anyways. 1999-11-02 Elliot Lee * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks that are read from the input file. 1999-11-02 Larry Ewing * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa render function. (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render to class. 1999-11-02 Federico Mena Quintero * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the affine computation code from ::draw() to here, since it is needed by ::point() as well. 1999-11-02 Elliot Lee * 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-01 Federico Mena Quintero * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed bounding box computation. 1999-11-01 Federico Mena Quintero * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item. Drawing affines seem to work. Bounding box is fubared. ::point() is not implemented. This is a work in progress. * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of sources. * configure.in: Sigh. We need to link in libgnomeui for the canvas stuff. This mess will disappear when gdk-pixbuf gets folded into gnome-libs. 1999-10-30 Jonathan Blandford * 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. (ReadImage): lets get the offset right. This will let transparent gifs work. 1999-10-29 Michael Fulbright * src/io-jpeg.c: image_load_increment(): Fixed bug when image width was not a multiple of 4 - always use the gdk_pixbuf rowstride to increment pointers! 1999-10-29 Michael Fulbright * src/io-jpeg.c: Added first cut at progressive jpeg loading. Currently does not handle either progressive jpeg files (jpeg files with multiple scans at different quality settings), but I plan on adding this support soon. These are fairly rare in my experience, so it shouldn't slow people down too much. Grayscale jpegs also don't work but that should be easy to fix. 1999-10-29 Michael Fulbright * src/testpixbuf.c: Added title to windows so you can identify progressive and file windows. 1999-10-29 Michael Fulbright * 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-28 Jonathan Blandford * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a 0 length buffer. 1999-10-28 Federico Mena Quintero * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New function to render a portion of a pixbuf to a drawable. Ignores alpha information and takes in a GC. (gdk_pixbuf_render_to_drawable_alpha): New function to render a portion of a pixbuf to a drawable. It automatically creates a GC and a clipping mask for alpha pixbufs. 1999-10-28 Jonathan Blandford * src/gdk-pixbuf.h: turned convenience macros into convenience functions so some error checking could be added. * src/io-tiff.c (image_load_increment): started work on the tiff non-incremental loader. (image_begin_load): Finished the 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-27 Federico Mena Quintero * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New function to threshold a pixbuf's alpha channel into a bitmap. * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will contemplate future extensions to ArtPixBuf's formats. * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new(). * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience macros to fetch the ArtPixBuf's fields. 1999-10-27 Havoc Pennington * src/testpixbuf.c (main): Display the progressive load * src/io-png.c (setup_png_transformations): Break transformation code into separate function (png_info_callback): Use setup_png_transformations 1999-10-27 Havoc Pennington * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check properly whether the XPM module has already been loaded (gdk_pixbuf_new_from_file): Check properly if loader module was already loaded (was checking if load symbol was present in order to decide whether to re-load; should check module != NULL, then load != NULL) (image_handler_load): Check in present working directory, makes it easier to debug for now (file_formats): This array initializer was seriously on crack, was assigning a function pointer to a GModule* * src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader* 1999-10-27 Havoc Pennington * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize): Fix typo that prevented compilation (gdk_pixbuf_loader_destroy): ditto 1999-10-27 Federico Mena Quintero * 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 Michael Fulbright * 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 Michael Fulbright * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of pixbuf_loader properly initialized. * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly when done. 1999-10-26 Jonathan Blandford * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully. * src/gdk-pixbuf-loader.c: Finished initial cut at the object. 1999-10-26 Havoc Pennington * src/gdk-pixbuf-loader.h: fix signals * src/gdk-pixbuf-io.h: add new vtable fields 1999-10-26 Jonathan Blandford * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive loading. 1999-10-25 Federico Mena Quintero * configure.in (CFLAGS): Patch from Uwe Koloska to fix a stupid typo of mine. 1999-10-22 Havoc Pennington * src/io-xpm.c (mem_buffer): Clean up stupid increment-inside-array-dereference thing * src/testpixbuf.c: Add XPM data tests. * src/io-xpm.c: Make the XPM data buffer const, fix const correctness throughout the code. 1999-10-22 Havoc Pennington * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data() 1999-10-22 Havoc Pennington * src/io-xpm.c (image_load_xpm_data): Export this symbol for loading an XPM from memory. * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New function, loads pixbuf from xpm data (image_handler_load): Add g_return_if_fail() to ensure the same module isn't loaded twice. Add g_module_symbol() to scan for XPM loader function. 1999-10-22 Federico Mena Quintero * src/io-png.c (image_load): Patch from Kristian Hogsberg Kristensen to avoid allocating extra row buffers; the rows can be read in directly into the main pixel buffer. 1999-10-20 Federico Mena Quintero * src/gdk-pixbuf-io.c (image_handler_load): Free path. 1999-10-20 Federico Mena Quintero * configure.in: Bumped version number to 0.3. * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool version number for the library. 1999-10-20 Federico Mena Quintero * 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-18 Havoc Pennington * subautogen.sh: New name for macros/autogen.sh * autogen.sh: use subautogen.sh 1999-10-18 Federico Mena Quintero * src/*: Reindented to use the GNOME Indentation. Renamed GdkPixBuf to GdkPixbuf, for consistency with the function names (and it is also easier to type) :-) 1999-10-18 Havoc Pennington * configure.in: Use AM_PATH_GLIB instead of glib-config directly * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS 1999-10-18 Havoc Pennington * Makefile.am (SUBDIRS): Remove "macros" * configure.in: Don't use GNOME_INIT, handle case where we are inside gnome-libs. AM_PATH_GTK for the GIF test * src/Makefile.am: Change flags to work without libgnomeui, comment out testpixbuf for now 1999-10-18 Federico Mena Quintero * configure.in: Use $GTK_LIBS as the extra libs when checking for libgif/libungif, as they need the X libraries. Fixes bug #2472. 1999-10-10 Cody Russell * src/gdk-pixbuf-drawable.c: core function now determines whether the requested geometry is on screen or not, and if some is not then the request is clamped to geometry that is on the screen. Changed 'pixbuf' to 'art_pixbuf' in core function. 1999-10-08 Michael Fulbright * src/gdk-pixbuf-data.c: Added to load rgb data from const data. * src/testpifbuf: Changed test program to display cdrom from rgb data if no filename given to test program. 1999-10-07 Cody Russell * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed them, but I wrote them). * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now compile. * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS. * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h" to fix compilation. * src/gdk-pixbuf-drawable.[ch]: Changed functions to return GdkPixBuf* instead of ArtPixBuf*. 1999-09-22 Michael Meeks * src/gdk-pixbuf.c (gdk_pixbuf_new): created. (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image. * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add GdkPixBufUnrefFunc + gdk_pixbuf_new. * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new. * src/io-xpm.c (_pixbuf_create_from_xpm): ditto. * src/io-tiff.c (image_load): ditto + fix leak * src/io-png.c (image_load): ditto + add more exit points; monitor.png crashes this module ( add warning :-) * src/io-bmp.c (image_load): ditto. * src/io-gif.c (image_load): ditto. 1999-09-18 Michael Meeks * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so it doesn't crash scaling with alpha. 1999-09-17 Federico Mena Quintero * 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. * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity checking. (gdk_pixbuf_unref): Fix incorrect sanity check and comparison. 1999-08-09 Federico Mena Quintero * 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. Sat Jul 31 19:19:47 CEST 1999 * src/gdk-pixbuf-io.c: * src/io-png.c: Fixed two obvious C syntax bugs 1999-07-29 Mark Crichton * src/io-png.c (image_save): Added PNG saving function * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's image_save(GdkPixBuf *p, FILE *f, ...) 1999-07-26 Michael Zucchi * src/Makefile.am (*_LIB): Only build the relevant loaders which require extra libraries if we actually have those libraries. 1999-07-23 Richard Hestilow * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes * gdk_pixbufConf.sh.in: Added for gnome-config * Makefile.am: * configure.in: Modified to generate gdk_pixbufConf.sh 1999-07-20 Mark Crichton * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox calculation needs to be done. 1999-07-18 Larry Ewing * 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-18 Mark Crichton * configure.in: removed version.h. * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability improvements. 1999-07-17 Mark Crichton * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code. (gdk_pixbuf_rotate): Added pixbuf rotation code. (gdk_pixbuf_scale): Changed // comments to /* */ * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy function to header. 1999-07-16 Larry Ewing * src/testpixbuf.c (expose_func): reverted the expose everything changes, I'm not sure why these went in. (config_func): bring this up to date with the new pixbuf_scale semantics. * src/gdk-pixbuf-io.c: added a couple of warnings to the module loading code so that poeple can diagnose problems better. * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it no longer allocates a new pixbuf, which make things nicer for the rest of the code. Unfortunately there is still a problem with scaling rgba images. 1999-07-16 Mark Crichton * src/testpixbuf.c (config_func): ConfigureEvent handler. This calls gdk_pixbuf_scale. However, something is not working. N.B.: current pixmap is now stored in user_data with a key of "pixmap" * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function. Something is still borked, however. 1999-07-15 Larry Ewing * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg indexing routine * src/testpixbuf.c (main): fix up the file routines a little so that you can load multiple files given the file names 1999-07-14 Larry Ewing * src/testpixbuf.c (expose_func): added an almost proper expose handler for testpixbuf 1999-07-13 Mark Crichton * configure.in: Fixed GIF check. Replaced " with ' * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale 1999-07-13 Mark Crichton * configure.in: I am a bonehead. Added gif-lib check.