1. 22 Jun, 2000 1 commit
    • Havoc Pennington's avatar
      Convert GdkPixbuf to GObject, leaving it opaque (i.e. derivation is not · 3a422541
      Havoc Pennington authored
      2000-06-21  Havoc Pennington  <hp@pobox.com>
      
      * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
      (i.e. derivation is not allowed, and there are no virtual methods
      anyway).
      (gdk_pixbuf_preinit): Call g_type_init() here.
      (gdk_pixbuf_init): Add a user-friendly init function, for users
      of standalone gdk-pixbuf
      
      * gdk-pixbuf-animation.c: Convert to GObject, in the same
      way GdkPixbufAnimation was done.
      
      * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
      gdk_pixbuf_finalize() from API, since these are broken and don't
      make sense with new GObject stuff.
      
      2000-06-21  Havoc Pennington  <hp@pobox.com>
      
      * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
      we didn't check window->bg_pixmap != GDK_NO_BG.
      
      * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
      gdk-pixbuf
      3a422541
  2. 13 Apr, 2000 1 commit
    • Federico Mena Quintero's avatar
      Your eyes are bloodshot. · 37ac7d59
      Federico Mena Quintero authored
      
      
      Your eyes are bloodshot.
      
      Your mouth starts to foam.
      
      Your hands are shaking.
      
      You know your need your fix.
      
      NEED MORE ABSTRACTION!
      
      2000-04-12  Federico Mena Quintero  <federico@helixcode.com>
      
      	This comes from an excellent idea by Tim Janik (timj@gtk.org) to
      	hook to the last unref operation.
      
      	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
      	function to set the last unref handler for a pixbuf.
      	(gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
      	It calls the pixbuf's destroy notification function and frees the
      	GdkPixbuf structure itself.
      	(gdk_pixbuf_unref): Use the last unref function of the pixbuf if
      	available.
      
      	* gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
      	for the last unref handler and its user data.
      
      	* gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
      	g_new0() to allocate the pixbuf.
      
      	* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
      	Fixed the call to gtk_signal_new() for the "frame_done" signal; it
      	was not specifying the `frame' argument.
      
      	* gdk-pixbuf/gdk-pixbuf-animation.c
      	(gdk_pixbuf_animation_get_width): Fixed docstring.
      	(gdk_pixbuf_animation_get_height): Likewise.
      	(gdk_pixbuf_animation_get_num_frames): Likewise.
      	(gdk_pixbuf_animation_get_frames): Likewise.
      
      	* doc/gdk-pixbuf-sections.txt: Updated with the new functions and
      	types.
      
      	* doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
      
      	* doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
      
      	* doc/tmpl/refcounting.sgml: Updated with the information about
      	the last unref handler.
      
      	* doc/tmpl/*.sgml: Markup tweaks.
      
      	* gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
      	update the libtool version number for libgnomecanvaspixbuf as
      	well.
      	(libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
      	as well, or the old ones won't work with the new stuff.  Also,
      	renamed the modules as follows.
      
      	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
      	modules are called "libpixbufloader-<format>.so" instead of
      	"libpixbuf-<format>.so".  They needed renaming so that the new
      	loaders won't overwrite the old ones; even with the versioning
      	stuff, the new .so symlink to the .so.1.0.0 would overwrite the
      	old real .so file.
      37ac7d59
  3. 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
  4. 14 Feb, 2000 1 commit
  5. 02 Dec, 1999 1 commit
    • Federico Mena Quintero's avatar
      #include <config.h>, and fix includes. · 25a81424
      Federico Mena Quintero authored
      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.
      25a81424
  6. 22 Nov, 1999 1 commit
  7. 04 Nov, 1999 1 commit
  8. 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
  9. 18 Oct, 1999 1 commit
  10. 08 Oct, 1999 1 commit