1. 11 Apr, 2000 1 commit
    • Federico Mena Quintero's avatar
      Most of this patch is based on a patch by Havoc Pennington (hp@redhat.com) · 829ed024
      Federico Mena Quintero authored
      2000-04-11  Federico Mena Quintero  <federico@helixcode.com>
      
      	Most of this patch is based on a patch by Havoc Pennington
      	(hp@redhat.com) to make GdkPixbuf's structures opaque and to
      	remove the libart dependency.
      
      	* gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
      	(GdkColorspace): New enum that for now only contains
      	GDK_COLORSPACE_RGB.
      	(GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
      	notification function.
      	(GdkInterpType): New num with interpolation types.
      
      	* *.[ch]: Replace the libart stuff with our own stuff.
      
      	* pixops/*.[ch]: Likewise.
      
      	* gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
      	declarations of the GdkPixbuf structures.
      
      	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
      	Removed function.
      	(gdk_pixbuf_get_format): Constify.
      	(gdk_pixbuf_get_n_channels): Constify.
      	(gdk_pixbuf_get_has_alpha): Constify.
      	(gdk_pixbuf_get_bits_per_sample): Constify.
      	(gdk_pixbuf_get_pixels): Constify.
      	(gdk_pixbuf_get_width): Constify.
      	(gdk_pixbuf_get_height): Constify.
      	(gdk_pixbuf_get_rowstride): Constify.
      
      	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
      	a pixbuf.
      
      	* gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
      	bits_per_sample argument; currently only 8 bits per sample are
      	supported.
      
      	* gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
      	New accessor.
      	(gdk_pixbuf_frame_get_x_offset): New accessor.
      	(gdk_pixbuf_frame_get_y_offset): New accessor.
      	(gdk_pixbuf_frame_get_delay_time): New accessor.
      	(gdk_pixbuf_frame_get_action): New accessor.
      
      	* gdk-pixbuf/gdk-pixbuf-render.c
      	(gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
      	mask rectangle for pixbufs without an alpha channel, set the
      	*mask_return to NULL.
      
      	* gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
      
      	* gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
      
      	* gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
      	preconditions.  Maybe we should also check for the colorspace,
      	bits per pixel, and such.
      	(gdk_pixbuf_composite): Likewise.
      	(gdk_pixbuf_composite_color): Likewise.
      	(gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
      	cannot allocate the new pixbuf.
      	(gdk_pixbuf_composite_color_simple): Likewise.
      
      	* gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
      	Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
      	have an ArtPixBuf.
      
      	* gdk-pixbuf/io-bmp.c: Fix includes.
      
      	* gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
      	an lvalue.
      
      	* TODO: Populated.
      
      	* configure.in: Removed checks for libart.
      
      	* gdk-pixbuf/Makefile.am: Removed references to libart.
      	(noinst_HEADERS): Added gdk-pixbuf-private.h.
      
      	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
      	the version number of the libtool library to indicate that this
      	definitely is not compatible with the old usage.  I know you love
      	me.  I know you do.
      
      	* configure.in: Bumped version number to 0.7.0.
      
      	* README: Updated.
      
      	* gdk-pixbuf-config.in (--libs): We no longer require libart.
      
      	* DEPENDS.libgdk_pixbuf: We no longer depend on libart.
      
      	* gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
      829ed024
  2. 07 Jan, 2000 1 commit
  3. 20 Oct, 1999 1 commit
    • Federico Mena Quintero's avatar
      Removed the unref_fn field. Now all memory management of the buffer is · 7ef5dec3
      Federico Mena Quintero authored
      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.
      7ef5dec3