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.
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.
1999-11-09 Michael Fulbright <drmike@redhat.com>
* src/io-jpeg.c: Slight cosmetic cleanup.
* src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
PBM loading has a similar problem and will address tomorrow.
1999-11-09 Michael Fulbright <drmike@redhat.com>
* src/io-jpeg.c (image_load_increment): Figured out problem with
loading Progressive JPEG's progressively (say that 10 times fast).
Currently for Progressive JPEG's the entire image is loaded before
it is displayed. libjpeg supports a fancier mechanism which I may
implement later.
With these changes all JPEG formats appear to load properly for me.
1999-11-08 Michael Fulbright <drmike@redhat.com>
* src/io-pnm.c image_load (): Fixed so we do not create a separate
pixel buffer when reading in image - we reuse the pixel data in
the GdkPixbuf structure instead.
1999-11-08 Michael Fulbright <drmike@redhat.com>
* src/io-pnm.c pnm_read_ascii_scanline (): Added support for
ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
I can't seem to find a utility to convert into this format.
Next is to add progressive loading support for the PNM format.
1999-11-07 Federico Mena Quintero <federico@redhat.com>
* doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
of the width, height, x, and y setting and pixels arguments.
1999-11-05 Federico Mena Quintero <federico@redhat.com>
* doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
for internal use only.
* doc/gdk-pixbuf.sgml: Likewise.
* doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
1999-11-05 Michael Fulbright <drmike@redhat.com>
* src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
files from a file. Next step is support for ASCII files, and
then incremental loading.
999-11-04 Michael Fulbright <drmike@redhat.com>
* src/io-jpeg.c: Prettied up code slightly.
* src/io-pnm.c: Start of pnm loader (from file and progressively).
Doesn't do much yet (will finish tomorrow).
* src/gdk-pixbuf-io.c: Added pnm to structure of known types.
1999-11-04 Havoc Pennington <hp@pobox.com>
* src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
docs, explain what a dither offset is for.
(gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
this function vs. gdk_pixbuf_render_to_drawable().
1999-11-04 Havoc Pennington <hp@pobox.com>
* configure.in: Use libart-config correctly; find gnome-config
separately. Fix GNOME_LIBS to be correct in "no gnome installed
yet" case.
* src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
library list.
Patch untested in the inside-gnome-libs case, I need to commit
then check out to the gnome-libs I'm using.
1999-11-03 Jonathan Blandford <jrb@redhat.com>
* src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
lib*gif!!!!
Also, some code cleanups to io-gif
1999-11-03 Michael Fulbright <msf@redhat.com>
* 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 Federico Mena Quintero <federico@redhat.com>
* 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 Larry Ewing <lewing@gimp.org>
* 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 <federico@redhat.com>
* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
doofus. Return a distance, not a boolean, for opaque images.
1999-11-03 Federico Mena Quintero <federico@redhat.com>
* 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-02 Jonathan Blandford <jrb@redhat.com>
* src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
for interlacing and progressive loading.
1999-11-02 Federico Mena Quintero <federico@redhat.com>
* 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.
* 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 <federico@redhat.com>
* 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 <jrb@redhat.com>
(ReadImage): lets get the offset right. This will let transparent
gifs work.
Right now, gifs with transparency, both interlaced and non-interlaced,
seem to work perfectly fine. I haven't tried grayscale gifs yet, and I
seem to be getting offset in my RGB buffer with non-alpha gifs. )-:
This leads to pretty, but incorrect, images.
-Jonathan
1999-10-30 <jrb@redhat.com>
* 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.
1999-10-29 Michael Fulbright <drmike@redhat.com>
* 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 <federico@redhat.com>
* 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 <jrb@redhat.com>
* src/io-tiff.c (image_load_increment): started work on the tiff
non-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 <federico@redhat.com>
* 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 <hp@pobox.com>
* 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 Federico Mena Quintero <federico@redhat.com>
* 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-25 Federico Mena Quintero <federico@redhat.com>
* configure.in (CFLAGS): Patch from Uwe Koloska
<koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
1999-10-22 Havoc Pennington <hp@pobox.com>
* 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 <hp@pobox.com>
* 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 <federico@redhat.com>
* src/io-png.c (image_load): Patch from Kristian Hogsberg
Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
buffers; the rows can be read in directly into the main pixel
buffer.
1999-10-20 Federico Mena Quintero <federico@redhat.com>
* 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 <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.
1999-10-18 Havoc Pennington <hp@pobox.com>
* 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 <federico@redhat.com>
* configure.in: Use $GTK_LIBS as the extra libs when checking for
libgif/libungif, as they need the X libraries. Fixes bug #2472.
Core function now determines whether the requested geometry is on screen
or not. If part of it is not then the request is clamped to geometry that
is on the screen.
1999-09-17 Federico Mena Quintero <federico@redhat.com>
* 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 <federico@nuclecu.unam.mx>
* 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.
1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
* src/Makefile.am (*_LIB): Only build the relevant loaders which
require extra libraries if we actually have those libraries.
1999-07-23 Richard Hestilow <hestgray@ionet.net>
* 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-18 Larry Ewing <lewing@gimp.org>
* 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.
Ok minor changes.
No longer make a version.h, and cleaned up some code here and there, and added
a quickie dirty-hack rotation function. However, it rotates at the origin.
Is this what we want? Or do we want a rotate w.r.t. the center of the pixbuf?
Anyone.
Mark
1999-07-16 Larry Ewing <lewing@gimp.org>
* 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-15 Larry Ewing <lewing@gimp.org>
* 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