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 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.