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.
1999-11-05 Jonathan Blandford <jrb@redhat.com>
* src/gdk-pixbuf-io.c: second patch Arjan van de Ven
<arjan@fenrus.demon.nl> to autodetect/load the sunras files.
1999-11-05 Jonathan Blandford <jrb@redhat.com>
* src/io-ras.c (image_load): new file from Arjan van de Ven
<arjan@fenrus.demon.nl> to begin the ras loader.
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-03 Michael Fulbright <drmike@redhat.com>
* src/io-jpg.c image_load_increment(): Fixed code which moved
buffer around as new data comes in to work properly. JPEG progressive
loading should be working now except for grayscale JPEG's, which I
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/io-jpeg.c: image_load_increment(): Fixed bug when
image width was not a multiple of 4 - always use the
gdk_pixbuf rowstride to increment pointers!
999-10-29 Michael Fulbright <drmike@redhat.com>
* src/io-jpeg.c: Added first cut at progressive jpeg loading.
Currently does not handle either progressive jpeg files (jpeg
files with multiple scans at different quality settings), but
I plan on adding this support soon. These are fairly rare in
my experience, so it shouldn't slow people down too much.
Grayscale jpegs also don't work but that should be easy to fix.
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 Havoc Pennington <hp@pobox.com>
* 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*
* src/io-png.c: Progressive loading stuff compiles, untested.
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-27 Havoc Pennington <hp@pobox.com>
* src/gdk-pixbuf.c (gdk_pixbuf_new): New function to create a
blank pixbuf.
* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Check all
three progressive load funcs are non-NULL, rather than checking
begin_load three times. Also, check whether begin_load returns
NULL on failure.
1999-10-27 Michael Fulbright <msf@redhat.com>
* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
logic so we only try to close loader if it wasn't previously closed.