Iain sent me a xpm that didn't load. It used "g" instead of "c" in it's
color table.
I thought that was borked until I saw Imlib, xv, and Gimp load it up w/o
problem...
So, fixed that (less than one line fix). HOWEVER, if this is correct,
then the gdk XPM loader in gtk+ also has the same problem.
Owen, got an opinion on this?
Mark
2000-02-03 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-render.c
(gdk_pixbuf_render_threshold_alpha): Added sanity check for width
and height being >= 0. Also, do nothing if either of them is
zero. Thanks to Ettore for pointing this out.
(gdk_pixbuf_render_to_drawable): Likewise.
(gdk_pixbuf_render_to_drawable_alpha): Likewise.
2000-02-02 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
Thanks to John Sullivan <sullivan@eazel.com> for the patch.
* gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
of the screen when the window is resized. Thanks to David
N. Welton <davidw@linuxcare.com> for pointing this out.
Misc. cleanups to the rest of the file.
2000-02-01 Federico Mena Quintero <federico@helixcode.com>
* doc/tmpl/rendering.sgml: gnome_init() does not call
gdk_rgb_init(), so don't mention that it does in the
documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
pointing this out.
Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
Wainwright to fix 4a => 4a scaling.
I dated telsa to break gdk-pixbuf.
I didn't think she can do it.
She somehow did, with Alan's help
Fixed it (it was a build bug)
Now, it should be 1000% telsa-proofed.
Mark
2000-01-22 Federico Mena Quintero <federico@helixcode.com>
* configure.in: Bumped version number to 0.5.0.
* gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
(main): Return 0.
* gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
parentheses around + in a shift to remove a compiler warning.
(pixops_process): Likewise.
Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
specfile:
* configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
* Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
2000-01-22 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
x_set and y_set arguments. Now they are always on and start with
defaults of 0.0 in units.
(gnome_canvas_pixbuf_class_init): Likewise.
(gnome_canvas_pixbuf_set_arg): Likewise.
(gnome_canvas_pixbuf_get_arg): Likewise.
(compute_viewport_affine): Likewise; always use the priv->x and
priv->y fields.
* doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
removal of the x_set/y_set arguments.
2000-01-21 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
as the input parameter.
* gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
Return the same animation as the input parameter.
2000-01-16 Federico Mena Quintero <federico@helixcode.com>
* configure.in: Removed the broken --enable-canvas-pixbuf option.
Added the stuff necessary to substitute the variables in
gnomecanvaspixbufConf.sh.in.
* gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
tiny gnomecanvaspixbuf library.
* Makefile.am: Build gnomecanvaspixbufConf.sh.
* gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
build it if gdk-pixbuf is being built outside of gnome-libs.
* doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
* gdk-pixbuf/gdk-pixbuf-render.c
(gdk_pixbuf_render_pixmap_and_mask): Renamed from
gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
needed, and do not use a clipping mask when rendering the pixmap.
Tweaked documentation a little.
* HACKING: New file with hacking policies for the gdk-pixbuf
module.
* doc/Makefile.am (tmpl_sources): Added missing backslash.
* doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
scanning for docstrings.
* gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
checks more stringent. Removed "gint" abominations. Made
documentation consistent with the rest of the functions.
* doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
utilities section.
2000-01-14 Jonathan Blandford <jrb@redhat.com>
* gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
function to let you create a gdk_pixmap from a gdk_pixbuf.
* No more libart/gdk-pixbuf as part of gnome-libs
* Everything: Install header files & *Conf.sh in new per-interface-version locations.
Include interface version in library names.
2000-01-05 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
confusion. (Again caught by Tomas Ogren's Purify)
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-05 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.
* gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
(Pointed out by Tomas Ogren)
Fixed bug sent directly to me. Basically, we weren't checking a failure case
from load_module, and returning junk to the application. Bad.
See ChangeLog for more info.
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 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/README: Added a README with a TODO
and some explainations of the algorithms.
* gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
to reduce flashing when resizing.
2000-01-05 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/: Directory full of pixel data scaling
code that will eventually migrate into libart.
* configure.in acconfig.h: Add checks for MMX compiler support
* gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
Nice wrapper routines for the code in pixops that operate
on pixbufs instead of raw data.
* gdk-pixbuf/testpixbuf-scale: Test program for scaling
routines.
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.
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-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-17 Jonathan Blandford <jrb@redhat.com>
* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
moved the file here. It seems natural to put this function here,
as that's where the gdk_pixbuf_new_from_file function is, but it's
still a little convoluted. The source files might be played with
in a bit.
1999-12-16 Federico Mena Quintero <federico@redhat.com>
* doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
before using the GdkPixbuf rendering functions. Thanks to Joe
Shaw <joe@off.net> for pointing this out.
1999-12-12 Federico Mena Quintero <federico@redhat.com>
* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
conditional to see whether to link $(GNOME_LIBS) or not.
1999-12-13 Federico Mena Quintero <federico@redhat.com>
* gdk-pixbuf/gnome-canvas-pixbuf.c
(gnome_canvas_pixbuf_class_init): Renamed arguments to
width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
consistency with the new canvas.
(PixbufPrivate): Do the same renaming in the structure fields, for
consistency.
* doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
1999-12-12 Federico Mena Quintero <federico@redhat.com>
* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
conditional to see whether to link $(GNOME_LIBS) or not.
1999-12-10 Jonathan Blandford <jrb@redhat.com>
* gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
* gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
make a warning go away.
1999-12-10 Jonathan Blandford <jrb@redhat.com>
* gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
make a warning go away.
* gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
* gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
animations.
ones can't be.
1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
* gdk-pixbuf/gdk-pixbuf-drawable.c
(convert_real_slow): New function - should convert ANY visual/data
format properly, but it aint fast. Used as a fallback when an
optimised routine wont match.
(rgbconvert): Do very specific tests on the data format to verify
properly if the optimised version will do, otherwise use the
fallback function for all other data formats.
1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
* gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
Filled in body of function.
(rgbconvert): Added GdkColormap parameter, and to all conversion
functions also.
* gdk-pixbuf/Makefile.am: Re-enabled building of
textpixbuf-drawable.
* gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
gdk_pixbuf_get_from_drawable().
1999-12-08 Arjan van de Ven
<arjan@fenrus.demon.nl>
* gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed
the red/green/red bug on two occasions.
* gdk-pixbuf/io-ras.c: Changed from the custom
be32_to_cpu function to the generic glib one.
1999-12-08 Federico Mena Quintero <federico@redhat.com>
* gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
(gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
checks and API definition. The body needs filling in and it needs
to do the Right Thing(tm) for pixmaps plus the given colormap and
windows and their own colormaps.
* gdk-pixbuf/gdk-pixbuf.h: Added prototype for
gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
* gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
* doc/tmpl/from-drawables.sgml: Populated.
* doc/gdk-pixbuf.sgml: Added the from-drawables section.
* doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
* doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
from drawables.
1999-12-07 Federico Mena Quintero <federico@redhat.com>
* doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
reference counting for GdkPixbuf structures.
1999-12-05 Arjan van de Ven
<arjan@fenrus.demon.nl>
Added missing "include <string.h>" to:
* gdk-pixbuf/io-ras.c
* gdk-pixbuf/io-bmp.c
* gdk-pixbuf/io-ico.c
1999-12-13 Federico Mena Quintero <federico@redhat.com>
* gdk-pixbuf/gnome-canvas-pixbuf.c
(gnome_canvas_pixbuf_class_init): Renamed arguments to
width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
consistency with the new canvas.
(PixbufPrivate): Do the same renaming in the structure fields, for
consistency.
* doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
1999-12-05 Federico Mena Quintero <federico@redhat.com>
* gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
$(GNOME_LIBS). This must compile outside of gnome-libs. If you
want, send me a patch to do the conditional stuff properly.
Otherwise, please read the GNOME Programming Guidelines,
especially the "CVS policies" section.
1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
* gdk-pixbuf/io-bmp.c: Major cleanup, added support for
32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
* gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
* gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
ran through lclint.
* gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
(Windows Cursor files). These are identical to .ICO files,
except for the signature and 2 extra fields for the hotspot.
1999-12-02 Federico Mena Quintero <federico@redhat.com>
Source files moved from src/ to gdk-pixbuf/, to be consistent with
other libraries.
* doc/Makefile.am: Modified for the new source directory.
* configure.in: Likewise.
* Makefile.am: Likewise.
* autogen.sh: Likewise.
* gdk-pixbuf/Makefile.am: Likewise.
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-11-29 Owen Taylor <otaylor@redhat.com>
* src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
Keep the mask around until after we draw ... since
the GC changes aren't flushed to the X server until we
draw, destroying it before that may result in BadPixmap
errors.
1999-11-29 Federico Mena Quintero <federico@redhat.com>
* src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
should be made conditional, not blindly commented out.
1999-11-24 James Henstridge <james@daa.com.au>
* Makefile.am (SUBDIRS): libart must be built before gdk-pixbuf.
[ in gdk-pixbuf ]
1999-11-24 James Henstridge <james@daa.com.au>
* configure.in (AC_OUTPUT): altered hack to place the symlink in the
top builddir rather than src. This still builds fine, and does not
get gtk-doc into an infinite loop when trying to find all the source
files.
1999-11-22 Federico Mena Quintero <federico@redhat.com>
* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
temporary buffer to the size of the interesction of the bounding
box and the expose area, not the whole expose area. This speeds
up things a lot.
* src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
not paint black on the mask, since we already cleared it in a
single gdk_draw_rectangle() operation.
* libgnomeui/gnome-stock-ids.[ch],libgnomeui/gnome-init.[ch],libgnome/gnomelib-init*.[ch]:
Uniquify the strings to save some memory.
* test-gnome/*.c: Make it build.
* configure.in: No imlib!
* libgnomeui/libgnomeui.h: Include gnome-druid-page-edge.h, not -start.h
1999-11-22 Havoc Pennington <hp@pobox.com>
* src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
<pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
dependencies to LIBADD variables for loadable modules. Necessary
for a Java dynamic loading thing to be able to figure it out.
1999-11-22 Havoc Pennington <hp@pobox.com>
* src/io-png.c (image_load_increment): Call the update_area
callback depending on the number of rows loaded in this increment.
* src/testpixbuf.c (main): slow down the progressive load demo
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-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
* src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
Rework/reorder of the code. Each case has been separated into
another function; its big but it should be quick.
gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
opaque alpha information. Not all depths/formats have been
tested, but 8, 15/16 and 24 (alinged 32) should work ok.
1999-11-17 Larry Ewing <lewing@gimp.org>
* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
implement the bounds method correctly.
(compute_viewport_affine): compute the affine need to fit the
image within the viewport given by the args.
(compute_render_affine): call compute_viewport_affine.
Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
* src/testpixbuf-drawable.c: use includes from the current directory
rather then from the system include directory as gdk-pixbuf
includes are not yet installed when this is compiled.
1999-11-10 Federico Mena Quintero <federico@redhat.com>
* doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
* doc/gdk-pixbuf.signals: Put in the real names of signal
arguments.
* src/gdk-pixbuf-loader.c: Improved documentation comments.