Tue Jul 11 06:38:42 2000 Tim Janik <timj@gtk.org>
* gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
add the necessary tokens.
* gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
(gtk_rc_style_to_style): copy thicknesses.
(gtk_rc_init_style): apply thicknesses.
(gtk_rc_parse_style): parse xthickness and ythickness.
* gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new):
(gdk_window_new):
(_gdk_windowing_window_init):
* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new):
(gdk_pixmap_create_from_data):
(gdk_bitmap_create_from_data):
(gdk_pixmap_new):
* gdk/x11/gdkimage-x11.c (gdk_image_get):
(gdk_image_new):
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new):
* gdk/x11/gdkdnd-x11.c (gdk_drag_context_new):
* gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
(gdk_colormap_get_system):
(gdk_colormap_new):
* gdk/gdkwindow.c (gdk_window_init):
* gtk/gtkstyle.c (gtk_style_new):
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
* gdk/gdkpixmap.c (gdk_pixmap_init):
* gtk/gtkrc.c (gtk_rc_style_new):
use g_object_new() instead of g_type_create_instance() which
is a private function for fundamental type implementations.
Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
* io-gif.c (gdk_pixbuf__gif_image_load_animation):
* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
use g_object_new() instead of g_type_create_instance() which
is a private function for fundamental type implementations.
Fri Jun 23 17:54:23 2000 Tim Janik <timj@gtk.org>
* configure.in: make the current version number 1.3.1 (binary age 0,
interface age 0).
* gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
gtkcompat.h is all we want.
* gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
GLib primitive types. fixed g_type_register_fundamental() argument
ordering.
* gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
compiles.
* gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
object code cleanup, comment trigraph fixes, etc...
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
Wed Jun 21 16:38:13 2000 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
gdk-pixbuf.
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
fixups for GObject.
* gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of
gdk-pixbuf with GDK dependencies moved into GDK.
* gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
move gdk-pixbuf-loader here until GObject has signals.
* demos/: New directory of demos. Move demos from
gdk-pixbuf here.
* demos/pixbuf-init.c: Small bit of code to check for
loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
set GDK_PIXBUF_MODULEDIR appropriately.
* gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
define which no longer makes sense.
2000-06-10 Federico Mena Quintero <federico@helixcode.com>
* demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
so I needed something to warm my thighs. Running plain infinite
loops on your laptop to make it hot is not very much fun. A demo
of the gdk-pixbuf scaling functions is way better, and looks
prettier, too.
* configure.in (AC_OUTPUT): Added the demo Makefile.
* Makefile.am (SUBDIRS): Added the demo directory.
2000-06-09 Larry Ewing <lewing@helixcode.com>
* gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
setjmp for the png error handler. It seems setting the error
handling functions does not avoid the jump, and so not calling
setjmp was causing the incremental loader to jump into lala land.
(gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
not sure this one is actually required but the docs say it must be
set for every call to a png_* function.
Also changed the comment to reflect the fact that setting the
error handlers does _not_ avoid the longjmp.
2000-06-06 Larry Ewing <lewing@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
take frame offest into account when trying to calculate the
animation bbox. Also set the width to the width not the height.
(gdk_pixbuf_loader_frame_done): cycle over the frames to calculate
bbox since only now do we have all the offset information for each
frame.
2000-05-30 Not Zed <NotZed@HelixCode.com>
* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
Initialise the error handler exit routine to our own. Note this
means that every function that accesses the jpeg lib on this
object MUST do a setjmp.
(gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
lib for handling fatal error.
(gdk_pixbuf__jpeg_image_load_increment): And here too. So now
your applications dont quit if there's a jpeg error!
2000-05-30 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf.spec.in: Include all the loader libraries. Patch
from Frank de Lange <frank@unternet.org>.
Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
detailed information about the structure and algorithms
of pixops so people can fix it instead of breaking it.
CvS: Added Files:
* gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
(composite_pixel), (composite_line):
* gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
Now that Owen explained the algorithm, I think I implemented it
right for the cases where the destination pixbuf is not opaque.
The test does seem to confirm it.
* gdk-pixbuf/.cvsignore:
* gdk-pixbuf/Makefile.am:
* gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
(load_pixel), (simple_composite_test_one),
(simple_composite_test_one_type), (simple_composite_test), (main):
Added some tests of composite to highlight problems in the old
implementation. These tests run without any user interaction.
Just do "make check".
* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
(composite_pixel), (composite_line): Fix composite to do a textbook
"A over B" composite. This was clearly the intent, and it was easy
to fix the code to do it. (Note to those that read my earlier tries
at a patch; this version fixes typos that were present in all
my patch attempts. I checked the final version by adding more tests.)
2000-04-22 James Henstridge <james@daa.com.au>
* gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
package to the devel package. The only file installed in bin is
gdk-pixbuf-config, which belongs in -devel. This should allow having
multiple versions of the main gdk-pixbuf package installed.
2000-04-14 Tomasz Kopczko <kloczek@pld.org.pl>
* gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
$(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
2000-04-13 James Henstridge <james@daa.com.au>
* configure.in: when performing the configure check to see if
gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
rather than the other way round. Also, call AC_MSG_RESULT in the
even that dynamic modules were not supported.
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.
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.
2000-03-29 Radek Doulik <rodo@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-animation.c
(gdk_pixbuf_animation_new_from_file): same as below
* gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
height in GdkPixbufAnimation
2000-03-28 Radek Doulik <rodo@helixcode.com>
* gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
context->frame_done_func and context->anim_done_func to make
progressive animation loading work
* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
added priv->pixbuf = NULL as pixbuf is now in frame (and to make
gdk_pixbuf_loader_prepare happy)
(gdk_pixbuf_loader_frame_done): update animation bbox
* gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
_GdkPixbufAnimation
2000-03-27 Radek Doulik <rodo@helixcode.com>
* gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
instead of width and height
2000-04-01 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
is private information, and the art_pixbuf will go away soon.
Added 2 more convience functions.
gdk_pixbuf_get_refcount for the current refcount of the pixbuf (per someone
at Eazel's request)
gdk_pixbuf_get_artpixbuf: returns the artpixbuf of the pixbuf. Is this
a good idea? I'm using it to help make->panel->do->the->right->thing.
2000-03-27 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/pixops/pixops.c: Fix problem with
precendence of >> and & which was keeping composite_color
from working with non-gray images.
2000-03-08 Jonathan Blandford <jrb@redhat.com>
* gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
(gdk_pixbuf__gif_image_load_animation): free the context.
Fixed to pointer-bugs and a
mis-interpretation of the Microsoft documentation. Now
it can load .BMP files that are not generated by The Gimp
as well.
a=federico
Merged in changes.
If this doesn't work, I blame the NWO conspiracy.
I need to go put my tin foil hat back on now, and keep a lookout for the
black helicopters.
2000-02-26 Federico Mena Quintero <federico@helixcode.com>
* README: We don't require libgif/ungif nor libXpm.
* NEWS: This was outdated, so updated it.
2000-02-25 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf.m4: Use the correct name for
gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
this out.
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.