The BIG graph update
[rrdtool.git] / libraries / libart_lgpl-2.3.7 / ChangeLog
diff --git a/libraries/libart_lgpl-2.3.7/ChangeLog b/libraries/libart_lgpl-2.3.7/ChangeLog
new file mode 100644 (file)
index 0000000..2d7de12
--- /dev/null
@@ -0,0 +1,866 @@
+2001-10-31  Anders Carlsson  <andersca@gnu.org>
+
+       * Release 2.3.7
+
+2001-10-15  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (art_svp_intersect_horiz): Minor
+       logic fix so that horiz segments successfully cross
+       zero length segments in the active list.
+
+       (art_svp_intersect_test_cross): Flags indicating whether to
+       do add_point (potentially breaking neighbors) to left and
+       to right.
+
+       (art_svp_intersect_insert_cross): Provide ART_BREAK_LEFT and
+       ART_BREAK_RIGHT flags to art_svp_intersect_test_cross,
+       depending on direction of search.
+
+       (art_svp_intersect_advance_cursor): Provide flags (allow
+       both left and right breaking) to test_cross.
+       
+2001-10-15  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (CHEAP_SANITYCHECK): Added an inexpensive
+       sanitycheck to detect multiple insertions of a segment into the
+       horiz list.
+
+       (art_svp_writer_rewind_add_point): Avoid breaking lines below
+       their bottom point.
+
+       (art_svp_intersect_test_cross): Handle cases correctly where
+       intersection point matches y0 of left or right segment. These _do_
+       happen in real world examples. Also, do add_point on newly
+       inserted intersection point.
+
+2001-10-14  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (art_svp_intersect_add_point): Fixed
+       rather subtle logic bug that misplaced insertion point
+       when seg argument was NULL.
+
+2001-10-11  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_render_aa.c (art_svp_render_aa_iter_step): Got rid
+       of qsort of steps, and now keep the step list in sorted order.
+       Further, we combine duplicate steps with the same x value,
+       which bounds the size of the step list to x1 - x0, so we
+       don't need to dynamically resize it. Thanks greatly to
+       Bruce Q. Hammond for the original version of this patch.
+
+2001-10-09  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (art_svp_intersect_test_cross): Breaks
+       bottom part of line segments in "too close" cases.
+
+2001-10-09  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (art_svp_writer_rewind_add_point): Fixed
+       bbox computation.
+       (art_svp_intersector): Handle degenerate case where input
+       SVP has 0 segments.
+
+       * art_svp_intersect.h: Moved definition of art_svp_intersector
+       inside #ifdef __cplusplus, so it links properly against C++
+
+2001-10-09  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (art_svp_intersect_break): Handle
+       case when break y equals sweep line correctly. Also adds
+       first try at winding number sanitychecker, but that makes
+       too many false positives.
+
+2001-10-07  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp.c (EPSILON): Set to zero if new intersector is
+       in use - we want svp's to be in strict sorted order.
+
+       * art_svp_intersect.c (art_svp_intersect_test_cross): Explicitly
+       check that top points are equal, and swap immediately if b is out
+       of order.
+       (art_svp_intersect_horiz): Break segments that intersect
+       horizontal lines. Now passes "two squares with offset" test.
+
+2001-10-05  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c: Major changes to accommodate
+       horizontal lines. Intersections of horizontal lines
+       aren't fully processed, but should work a lot better
+       than before.
+
+       * testart.c: Minor tweaks. testpat now frees memory
+       so it can be run under memprof to detect leaks.
+
+2001-10-03  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_intersect.c (art_svp_intersect_advance_cursor):
+       Made test_cross for inserted segments common between
+       intersection processing and cursor advance, and also took
+       care of a case that hadn't been handled before. Also added
+       invariant sanitychecker for debugging purposes.
+
+2001-10-02  Raph Levien  <raph@pixel.artofcode.com>
+
+       * art_svp_ops.c: ART_USE_NEW_INTERSECTOR variants of svp
+       ops changed to do shallow free of merged svp.
+
+2001-10-01  Raph Levien  <raph@acm.org>
+
+       * art_svp_intersect.c:
+       * art_svp_intersect.h:
+       * Makefile.am:
+       * art_misc.h:
+       * art_svp_wind.h: First commit of new intersector code. It is
+         turned off by default, but can be enabled by #defining
+         ART_USE_NEW_INTERSECTOR in art_misc.h.
+
+       * art_svp_ops.c: Make svp ops use new intersector if enabled.
+
+       * art_svp_vpath_stroke.c: Make vpath stroking use new intersector
+       if enabled.
+       
+       * testart.c: New test case for intersector.
+
+Wed Sep 26 03:48:13 2001  George Lebl <jirka@5z.com>
+
+       * Release 2.3.6
+
+Wed Sep 26 03:11:40 2001  George Lebl <jirka@5z.com>
+
+       * gen_art_config.c: Fix 64bit issues, cast sizeof return when
+         using %d to print it.
+
+2001-09-13  Havoc Pennington  <hp@redhat.com>
+
+       * Makefile.am: rename library to libart_lgpl_2
+
+       * libart-2.0.pc.in (Cflags): move includes
+
+       * libart-config.in: move includes
+
+       * Makefile.am: delete libartConf.sh, rename libart-config
+       (EXTRA_DIST): don't install m4 files
+       (libart_lgplincdir): move headers
+
+2001-08-03  Michael Meeks  <michael@ximian.com>
+
+       * Version 2.3.5 for the API freeze.
+
+2001-07-12  Darin Adler  <darin@bentspoon.com>
+
+       * art_affine.c: (art_affine_expansion): Fix handling of
+       negative numbers. We ran into this bug a while back when
+       figuring out why librsvg couldn't handle certain svg files.
+
+2001-07-12  Darin Adler  <darin@bentspoon.com>
+
+       * art_misc.h: Change art_expand macro so it's a single
+       statement, using the do while (0) trick, which gets rid
+       of some warnings.
+       * art_pixbuf.c: Add a missing include.
+       * art_vpath_svp.c: (art_vpath_from_svp): Initialize a
+       variable to avoid a compiler warning.
+       * gen_art_config.c: Add a missing include.
+
+2001-03-24  Martin Baulig  <baulig@suse.de>
+
+       Applied the patch from Alexander Larsson which was sitting
+       in gnome-libs/patches/libart.diff since February.
+       [FIXME: Alex, can you please provide a ChangeLog?])
+
+       * art_rgb_a_affine.[ch]: New files.
+
+2001-01-07  Hans Breuer <Hans@Breuer.Org>
+       * art_misc.c : embryonic change to use libart_lgpl on win32
+       * libart.def : new file, exported functions for win32 dll
+       * makefile.msc : handwritten for MSVC compiler
+
+2000-09-30  Martin Baulig  <baulig@suse.de>
+
+       * libart-2.0.pc.in: Provide pkg-config script.
+
+       * configure.in: Create libart-2.0.pc from libart-2.0.pc.in.
+       * Makefile.am (pkgconfig_DATA): Install the libart-2.0.pc
+       script in `$(libdir)/pkgconfig'.
+
+2000-08-15  Raph Levien  <raph@acm.org>
+
+       * art_render.c (art_render_image_solid_negotiate): Only
+       sets ART_IMAGE_SOURCE_CAN_COMPOSITE when a compositing
+       callback is selected. Previously was causing segfaults on
+       non-alpha images. Thanks to Leonard Rosenthol for spotting
+       the bug.
+
+Fri Jun 30 22:56:58 2000  Raph Levien  <raph@acm.org>
+
+       * art_render.c (art_render_composite): Fixed a bug that caused
+       it to ignore the alpha setting. Also art_render_composite_8().
+
+2000-06-01  John Sullivan  <sullivan@eazel.com>
+
+       * art_svp_render_aa.c: (art_svp_render_aa_iter_step):
+       Made it build by correcting struct member name from
+       Raph's previous checkin.
+
+Wed May 31 11:10:58 2000  Raph Levien  <raph@acm.org>
+
+       * art_svp_render_aa.c (art_svp_render_aa_iter_step): Updated
+       n_steps_max in iter structure after steps reallocation.
+
+Tue May 30 10:33:13 2000  Raph Levien  <raph@acm.org>
+
+       * art_svp_render_aa.c (art_svp_render_aa_iter_step): Fixed not
+       updating iter->steps when steps gets reallocated.
+
+2000-05-30  Pavel Cisler <pavel@eazel.com>
+
+       * art_rgba.c:
+       Make it build -- fix a broken include.
+
+Tue May 30 00:09:21 2000  Raph Levien  <raph@acm.org>
+
+       * art_render_gradient.c (art_render_gradient_setpix): Fixed
+       an off-by-one loop error.
+
+Mon May 29 15:00:39 2000  Raph Levien  <raph@acm.org>
+
+       * Makefile.am: Moved relevant .h files into HEADERS stanza.
+
+Mon May 29 13:48:49 2000  Raph Levien  <raph@acm.org>
+
+       This is a fairly major commit, as it adds both the new, modular
+       rendering architecture and gradients. Quite a bit of the code
+       feels like "reference code" now, in that it is (hopefully)
+       correct, but not necessarily very fast. In addition, there remain
+       a few things not done, including the use of SVP's as non-driver
+       mask sources. AlphaGamma and filter level also remain
+       unimplemented. No compositing modes other than ART_NORMAL are
+       implemented. All in good time!
+       
+       * configure.in: added -Wmissing-prototypes flag. Bumped version
+       number to 2.3.0.
+
+       * art_render.h:
+       * art_render.c: Added new rendering architecture.
+
+       * art_render_svp.h:
+       * art_render_svp.c: Added renderers to use SVP's as mask
+       sources in new rendering architecture.
+
+       * art_render_gradient.h:
+       * art_render_gradient.c: Added linear and radial gradients
+       as image sources in new rendering architecture.
+
+       * art_rgba.h:
+       * art_rgba.c: Added functions for manipulating and compositing
+       RGBA pixels.
+
+       * art_svp_wind.c: Added static to trap_epsilon(), #ifdef'd out
+       traverse().
+
+       * art_uta_ops.c: Added #include "art_uta_ops.h".
+
+       * art_uta_rect.c: Added #include "art_uta_rect.h".
+
+       * art_uta_svp.h: fixed __ART_UTA_SVP_H__ name.
+
+       * art_misc.h: Added ART_GNUC_NORETURN attribute, added that
+       to the prototype for art_die(). Added "static" to function
+       declarations to avoid warnings when compiled with
+
+       * testart.c: Added gradient test.
+
+Thu May 25 23:30:39 2000  Raph Levien  <raph@acm.org>
+
+       * art_svp_render_aa.h:
+       * art_svp_render_aa.c: Added art_svp_render_aa_iter functions,
+       suitable for iterative rendering of an svp, one scan line at a
+       time.
+
+       * configure.in: Bumped version to 2.2.0.
+
+Tue May 16 15:03:35 2000  Raph Levien  <raph@acm.org>
+
+       * art_rgb_pixbuf_affine.c: Included corresponding .h file.
+
+       * art_rgb_pixbuf_affine.h: Put recursive #includes inside
+       LIBART_COMPILATION test.
+
+       * art_gray_svp.c:
+       * art_rgb_svp.c: Explicit casts for callback data. Also removed
+       "render the steps into tmpbuf" comment.
+
+       * gen_art_config.c:
+       * Makefile.am:
+       * configure.in: Added code to automatically generate an
+       art_config.h file, to be installed in libart's include dir. This
+       file defines ART_SIZEOF_{CHAR,SHORT,INT,LONG} and art_u{8,16,32}.
+
+       * art_misc.h: Moved definition of art_u8 and art_u32 into
+       art_config.h. Added GCC printf format attributes.
+
+       * art_svp_wind.c (traverse): Fixed UMR bug here. The function
+       isn't actually used, so it's just for cleanliness.
+
+2000-04-18  Lauris Kaplinski  <lauris@ariman.ee>
+
+       * art_affine.c (art_affine_to_string): Replaced snprinf with
+       art_ftoa to avoid localisation of generated numbers
+
+2000-04-18  ERDI Gergo  <cactus@cactus.rulez.org>
+
+       * art_rgb_pixbuf_affine.h: Included the ArtPixBuf declaration
+
+Fri Apr 14 16:33:55 2000  Raph Levien  <raph@acm.org>
+
+       * art_svp_wind.c (art_svp_uncross, art_svp_rewind_uncrossed):
+       Fixed uninitialized memory reads when inserting new segment into
+       active_segs.
+
+       * art_bpath.c (art_bpath_affine_transform): Made it avoid
+       potential uninitialized memory reads when not all the coordinates
+       are needed. Thanks to Morten Welinder for spotting both of these
+       problems.
+
+2000-04-05  Raph Levien  <raph@gimp.org>
+
+       * art_svp_wind.c: Make "colinear" warnings go to stderr instead
+       of stdout. Of course, when I finish the new intersector, these
+       will go away entirely.
+
+2000-04-04  Raph Levien  <raph@gimp.org>
+
+       * art_uta_vpath.c (art_uta_add_line): Fixed bug that was causing
+       segfaults on alphas. Thanks to msw for localizing it.
+
+2000-01-17  Raph Levien  <raph@gimp.org>
+
+       * art_svp_vpath_stroke.c (art_svp_vpath_stroke): Typo in api
+       header (thanks rak).
+
+2000-01-16  Timur Bakeyev  <timur@gnu.org>
+
+       * autoconf.sh: Instead of jumping between srdir and builddir just process
+       all the auto* staff in srcdir. In fact, just saying the same things in 
+       other words.
+
+2000-01-10  Elliot Lee  <sopwith@redhat.com>
+
+       * Makefile.am, *.h: Add rather bad hacks to the header files to allow compilation
+
+       * Makefile.am: Distribute libart-config.in
+
+2000-01-09  Raph Levien  <raph@gimp.org>
+
+       art_rgb_pixbuf_affine.c, art_rgb_rgba_affine.c, art_rgb_svp.c,
+       art_svp.c, art_svp_ops.c, art_svp_point.c, art_svp_render_aa.c,
+       art_svp_vpath.c, art_svp_vpath_stroke.c, art_svp_wind.c,
+       art_uta.c, art_uta_ops.c, art_uta_rect.c, art_uta_svp.c,
+       art_uta_vpath.c, art_vpath.c, art_vpath_bpath.c, art_vpath_dash.c,
+       art_vpath_svp.c: Added API documentation.
+
+Fri Sep 24 17:53:21 1999  Raph Levien  <raph@acm.org>
+
+       * art_svp_render_aa.c (art_svp_render_insert_active): Avoid
+       reading undefined memory (thanks to Morten Welinder).
+
+1999-09-19  Raph Levien  <raph@gimp.org>
+
+       * art_pixbuf.c (art_pixbuf_duplicate): Added a duplicate function
+       at the request of Michael Meeks.
+
+1999-09-11  Raph Levien  <raph@gimp.org>
+
+       * art_affine.c (art_affine_to_string): Tightened the predicate for
+       matching rotate-only affines, which was too weak. Thanks to lewing
+       for spotting it!
+
+1999-09-01  Raph Levien  <raph@gimp.org>
+
+       * art_affine.c, art_alphagamma.c, art_bpath.c, art_gray_svp.c,
+       art_misc.c, art_pixbuf.c, art_rect.c, art_rect_svp.c,
+       art_rect_uta.c, art_rgb.c, art_rgb_affine.c,
+       art_rgb_bitmap_affine.c: Updates to api doc headers.
+
+1999-08-24  Raph Levien  <raph@gimp.org>
+
+       * art_affine.c, art_alphagamma.c, art_alphagamma.h, art_bpath.c,
+       art_bpath.h, art_gray_svp.c, art_misc.c, art_pixbuf.c,
+       art_pixbuf.h, art_point.h, art_rect.c, art_rect.h: Added api
+       documentation headers.
+
+       * testart.c: Added "dash" test, for testing the vpath_dash
+       functions.
+
+       * art_rgb_pixbuf_affine.h: Fixed the #ifdef for conditional
+       inclusion. Thanks to Kristian Hogsberg Kristensen for spotting
+       the bug.
+
+1999-08-24  Raph Levien  <raph@gimp.org>
+
+       * art_svp_render_aa.c (art_svp_render_aa): Added some tests to
+       avoid NaN for infinite slopes, which were causing problems on
+       Alphas. Closes bug #1966.
+
+1999-08-20  Federico Mena Quintero  <federico@redhat.com>
+
+       * configure.in: Fixed library's libtool version number.
+
+1999-08-03  Larry Ewing  <lewing@gimp.org>
+
+       * art_vpath_dash.c (art_vpath_dash): fix a bug/typo that was causing
+       certain paths to loop infinitely.
+
+1999-07-28  Raph Levien  <raph@gimp.org>
+
+       * art_vpath_dash.[ch]: Added a function to add a dash style
+       to vpaths. It is tested, but has a couple of rough edges (see
+       code for details).
+
+       * testart.c: added tests for the new vpath_dash functionality.
+
+       * Makefile.am: added art_vpath_dash.[ch] files.
+
+1999-07-26  Raph Levien  <raph@gimp.org>
+
+       * art_rgb.c (art_rgb_fill_run): fixed incorrect test for
+       big-endianness. Thanks to Michael Zucchi for spotting it.
+
+Fri Jul 16 23:42:59 1999  Tim Janik  <timj@gtk.org>
+
+       * art_affine.c (art_affine_flip): flip translation matrixes as well, by
+       inverting matrix[4] if (horz) and inverting matrix[5] if (vert).
+
+Fri Jul 16 23:03:26 1999  Tim Janik  <timj@gtk.org>
+
+       * art_pixbuf.[hc]: deprecated art_pixbuf_free_shallow(), people should
+       always free pixbufs with art_pixbuf_free() and use the _dnotify variants
+       for specific destruction behaviour.
+       added art_pixbuf_new_rgb_dnotify() and art_pixbuf_new_rgba_dnotify()
+       which allow for a destruction notification function. (this involved
+       adding two extra pointers to the ArtPixBuf structure, and removal of
+       the recently introduced int flags field).
+
+Mon Jul 12 01:13:23 1999  Tim Janik  <timj@gtk.org>
+
+       * art_affine.[hc]: added art_affine_equal(), which checks two
+       matrixes for equality within grid alignment.
+
+Fri Jul  9 17:50:19 1999  Tim Janik  <timj@gtk.org>
+
+       * art_affine.[hc]: added art_affine_flip() to flip a matrix horizontally
+       and/or vertically, or just copy it.
+       added art_affine_shear() to setup a shearing matrix.
+
+Tue Jul  6 19:03:39 1999  Tim Janik  <timj@gtk.org>
+
+       * art_pixbuf.h: added an int flags; member to the end of the
+       structure, it currently only holds information about whether the
+       pixels member should be freed. (raph: i think flags is more generic
+       than free_pixels, so we can reuse that field if further demands popup
+       in the future).
+
+       * art_pixbuf.c:
+       (art_pixbuf_new_const_rgba):
+       (art_pixbuf_new_const_rgb): new functions that prevent the pixels
+       member from being freed upon art_pixbuf_free ().
+       (art_pixbuf_free): only free the pixels member if it is non-NULL and
+       the PIXBUF_FLAG_DESTROY_PIXELS is set.
+
+1999-07-02  Raph Levien  <raph@gimp.org>
+
+       * art_vpath_bpath.c (art_vpath_render_bez): Bad bad uninitialized
+       variables.
+
+       * configure.in: added compile warnings. Guess why :)
+
+1999-06-28  Raph Levien  <raph@gimp.org>
+
+       * art_svp_point.h:
+       * art_svp_point.c: Added methods for insideness and distance
+       testing, very useful for ::point methods in canvas items.
+
+       * testart.c: test code to exercise the art_svp_point functions.
+
+       * Makefile.am: Additional entries for art_svp_point.
+
+1999-06-28  Raph Levien  <raph@gimp.org>
+
+       * art_svp_render_aa.c (art_svp_render_aa): Subtle boundary
+       case in realloc code -- was causing nasty segfaults.
+
+Wed Jun 23 15:05:43 1999  Raph Levien  <raph@gimp.org>
+
+       * art_rgb_svp.c (art_rgb_svp_alpha_opaque_callback): Missed a
+       case in the anti-segfault crusade. Thanks lewing!
+
+Wed Jun 23 11:16:42 1999  Raph Levien  <raph@gimp.org>
+
+       * art_rgb_svp.c: Made these routines so they won't segfault even
+       if alpha is out of range. Of course, that begs the question of
+       fixing the render routines so they won't _make_ alpha go out of
+       range, but all in good time.
+
+Fri Jun 18 17:32:34 1999  Raph Levien  <raph@acm.org>
+
+       * art_vpath_bpath.c (art_bez_path_to_vec): Switched to a new
+       adaptive subdivision algorithm, which (finally!) takes flatness
+       into account. This should result in both smoother curves and
+       faster operation.
+
+Sun Jun 13 21:07:20 1999  Raph Levien  <raph@gimp.org>
+
+       * art_svp_wind.c (art_svp_rewind_uncrossed): Made the winding
+       rule logic even more correct :). I somehow missed the fact that
+       a clockwise path should be given a winding number of zero;
+       last night's commit tried to make it -1 (which worked for the
+       test cases I was using).
+
+Sun Jun 13 01:23:14 1999  Raph Levien  <raph@gimp.org>
+
+       * art_svp_wind.c (art_svp_rewind_uncrossed): Change to winding
+       rule logic so that it correctly handles the case where the
+       leftmost segment is negative.
+
+       * Makefile.am (libart_lgplinc_HEADERS): made art_svp_wind.h
+       a public headerfile. This is needed for the bpath canvas item.
+       I'm not sure this is the correct way to do it, but it will do
+       for now.
+
+       * art_vpath_bpath.h: 
+       * art_vpath_bpath.c (art_bez_path_to_vec): Added const to arg.
+
+       * art_vpath_bpath.h: Embarrassing typo.
+
+       * art_bpath.h: Minor tweaks to the #include paths. It is now
+       consistent with the other header files.
+
+Wed Jun  9 20:24:45 1999  Raph Levien  <raph@gimp.org>
+
+       * art_svp_vpath_stroke.c: Added all remaining line join and cap
+       types, including round, which takes flatness into account. Several
+       new internal functions (art_svp_vpath_stroke_arc) and added
+       flatness argument to a few internal functions. I might want to
+       change the BEVEL join type to MITER for very small turn angles
+       (i.e. within a flatness threshold) for efficiency.
+
+       * art_misc.h: Added M_SQRT2 constant.
+
+Wed Jun  2 21:56:30 1999  Raph Levien  <raph@gimp.org>
+
+       * art_svp_vpath_stroke.c (art_svp_vpath_stroke_raw): Made the
+       closed path detection capable of PostScript semantics (i.e. it
+       now senses the difference between ART_MOVETO and ART_MOVETO_OPEN).
+
+       * art_svp_vpath_stroke.c (art_svp_vpath_stroke_raw): it now
+       filters out successive points that are (nearly) coincident. This
+       fixes some of the crashes and hangs, including Tim Janik's
+       singularity (trying to stroke MOVETO 50, 50; LINETO 50, 50; END).
+
+       * art_svp_wind.c (art_svp_rewind_uncrossed): added a test to
+       correctly handle empty input svp's.
+
+       * art_svp_wind.c (art_svp_uncross): added a test to correctly
+       handle empty input svp's.
+
+Sun Jan 17 20:53:40 1999  Jeff Garzik  <jgarzik@pobox.com>
+
+       * art_affine.c:
+       Include string.h for memcpy.
+
+       * art_svp_vpath.c:
+       Remove conflicting static func definition.
+
+       * art_uta_svp.c:
+       Include art_vpath_svp.h for func definition.
+
+Mon Jan  4 12:47:47 1999  Raph Levien  <raph@acm.org>
+
+       * art_bpath.c (art_bpath_affine_transform): Stupid misnaming
+       of this function (forgot the "art_").
+
+Thu Dec 31 09:04:23 1998  Raph Levien  <raph@gimp.org>
+
+       * art_affine.c (art_affine_rectilinear): Added this function.
+
+       * art_rect.c (art_drect_affine_transform): Corrected the name (it
+       was right in the .h). Also made it work with non-rectilinear
+       transforms, while I was at it.
+
+Thu Dec 17 11:58:24 1998  Raph Levien  <raph@acm.org>
+
+       * art_alphagamma.h:
+       * art_alphagamma.c: The real code for alphagamma.
+
+Wed Dec 16 14:18:46 1998  Raph Levien  <raph@gimp.org>
+
+       * art_alphagamma.h:
+       * art_alphagamma.c: Added. At present, it only contains a dummy
+       stub. When the real code is added, it supports doing alpha
+       compositing in a gamma-corrected color space (suppressing
+       jaggies).
+
+       * art_pixbuf.h:
+       * art_pixbuf.c: Added. This is a virtualization layer over
+       a few different kinds of image formats.
+
+       * art_rgb_pixbuf_affine.h:
+       * art_rgb_pixbuf_affine.c: Added. Supports compositing of
+       generic images over an rgb buffer.
+
+       * art_affine.h: 
+       * art_affine.c (art_affine_expansion): Added this function,
+       which reports the exact scale factor in the case of rotation,
+       scaling, and transformation (an approximate number in the
+       case of shearing or anamorphic distortion).
+
+       * art_misc.h:
+       * art_misc.c (art_warn): Added.
+
+       * art_rgb_affine.h:
+       * art_rgb_affine.c: Added alphagamma argument (not yet implemented).
+
+       * art_rgb_affine_private.c: Fixed typo bug that was causing
+       repaint problems for nonsquare images.
+
+       * art_rgb_bitmap_affine.h:
+       * art_rgb_bitmap_affine.c: Major speed improvement, probably fixed
+       correctness while I was at it. Added alphagamma argument (not yet
+       implemented).
+
+       * art_rgb_svp.h:
+       * art_rgb_svp.c: Added alphagamma argument (only implemented
+       in aa case, not yet alpha case).
+
+       * art_vpath.c: increased perturbation to 2e-3, because the old
+       value (1e-6) was too small.
+
+       * testart.c: added alphagamma.
+       
+       * Makefile.am: added new files
+
+Sun Dec 27 21:45:03 1998  Raph Levien  <raph@gimp.org>
+
+       * art_rect.h: 
+       * art_rect.c: Added DRect versions of the basic ops (double
+       rather than int).
+
+       * art_rect_svp.h:
+       * art_rect_svp.c: Added. This computes the bounding box of
+       an svp.
+
+Wed Dec 16 14:18:46 1998  Raph Levien  <raph@gimp.org>
+
+       * art_alphagamma.h:
+       * art_alphagamma.c: Added. At present, it only contains a dummy
+       stub. When the real code is added, it supports doing alpha
+       compositing in a gamma-corrected color space (suppressing
+       jaggies).
+
+       * art_pixbuf.h:
+       * art_pixbuf.c: Added. This is a virtualization layer over
+       a few different kinds of image formats.
+
+       * art_rgb_pixbuf_affine.h:
+       * art_rgb_pixbuf_affine.c: Added. Supports compositing of
+       generic images over an rgb buffer.
+
+       * art_affine.h: 
+       * art_affine.c (art_affine_expansion): Added this function,
+       which reports the exact scale factor in the case of rotation,
+       scaling, and transformation (an approximate number in the
+       case of shearing or anamorphic distortion).
+
+       * art_misc.h:
+       * art_misc.c (art_warn): Added.
+
+       * art_rgb_affine.h:
+       * art_rgb_affine.c: Added alphagamma argument (not yet implemented).
+
+       * art_rgb_affine_private.c: Fixed typo bug that was causing
+       repaint problems for nonsquare images.
+
+       * art_rgb_bitmap_affine.h:
+       * art_rgb_bitmap_affine.c: Major speed improvement, probably fixed
+       correctness while I was at it. Added alphagamma argument (not yet
+       implemented).
+
+       * art_rgb_svp.h:
+       * art_rgb_svp.c: Added alphagamma argument (only implemented
+       in aa case, not yet alpha case).
+
+       * art_vpath.c: increased perturbation to 2e-3, because the old
+       value (1e-6) was too small.
+
+       * testart.c: added alphagamma.
+       
+       * Makefile.am: added new files
+
+Mon Dec 14 00:16:53 1998  Raph Levien  <raph@gimp.org>
+
+       * art_affine.c (art_affine_to_string): re-added the "scale" method
+       that was accidentally deleted before check-in.
+
+       * Makefile.am: added new files
+
+Sun Dec 13 00:52:39 1998  Raph Levien  <raph@gimp.org>
+
+       * art_affine.h:
+       * art_affine.c: Added. Everything you ever wanted to do with an
+       affine transform. Especially check the functions that generate
+       concise PostScript strings for affine transforms.       
+
+       * art_filterlevel.h: A simple enum for selecting filtering
+       style.
+
+       * art_rgb_affine.h:
+       * art_rgb_affine.c (art_rgb_affine): Added. This function
+       composites an (opaque) rgb image over an rgb pixel buffer. At
+       present, it's slow and only nearest neighbor filtering is enabled.
+
+       * art_rgb_rgba_affine.h:
+       * art_rgb_rgba_affine.c: Analogous, but for compositing rgba
+       images.
+
+       * art_rgb_bitmap_affine.h:
+       * art_rgb_bitmap_affine.c: Analogous, but for compositing bitmap
+       images.
+
+       * art_rgb_affine_private.c (art_rgb_affine_run): Added. This is
+       a common function used by all the rgb_affine modules to move
+       testing for source image bbox out of the inner loop.
+
+       * Makefile.am: added the new files
+
+       * testart.c: exercise the image compositors
+
+Wed Dec  9 23:36:35 1998  Raph Levien  <raph@gimp.org>
+
+       * art_vpath.c (art_vpath_perturb): Made it deal correctly
+       with closed paths (the MOVETO and closing LINETO have to
+       agree).
+
+       * art_svp_wind.c: Made the bbox calculations for the resulting
+       svp's correct.
+
+       * art_svp.h:
+       * art_svp.c: The art_svp_seg_compare function moved here, because
+       it's required in art_svp_ops.
+
+       * art_svp.c (art_svp_add_segment): It now does bbox calculations.
+
+       * art_svp_ops.h: 
+       * art_svp_ops.c: Added. Populated with basic union, intersection,
+       and diff functions.
+
+       * art_vpath_svp.h: 
+       * art_vpath_svp.c: Added. Populated with a function to convert
+       from sorted to unsorted vector paths
+
+       * Makefile.am: added the new files
+
+       * testart.c: exercise the stroke outline and vector path
+       operations.
+
+1998-12-08  Herbert Valerio Riedel  <hvr@hvrlab.ml.org>
+
+       * art_svp_wind.c: added #include <string.h> for memcpy()
+
+Sun Dec  6 22:15:12 1998  Raph Levien  <raph@gimp.org>
+
+       * art_svp_wind.[ch], art_svp_vpath_stroke.[ch]: Added, but it
+       doesn't work yet. These will do stroke outline and basic
+       vector ops like union, intersect, etc.
+
+       * art_svp_render_aa.c: Added a simple speedup based on bbox
+       culling. I will want to do more speedups, but none of this is
+       necessary for the freeze.
+
+       * art_svp_vpath.c: Fixed some bugs in the art_svp_from_vpath in
+       cases where there is more than one subpath.
+
+       * art_vpath.h:
+       * art_vpath.c (art_vpath_perturb): Added this function.  This will
+       help cheat as long as the basic vector ops have numerical
+       stability problems.
+
+Fri Dec  4 18:00:38 1998  Raph Levien  <raph@gimp.org>
+
+       * art_svp_render_aa.c (art_svp_render_aa): Changed the api
+       slightly, to guarantee that the steps are all within the range
+       from x0 (inclusive) to x1 (exclusive).
+
+       * art_gray_svp.c, art_gray_svp.h: Added. Populated with functions
+       to render into a simple graymap.
+
+       * art_rgb.c, art_rgb.c: Added. Populated with fill_run and
+       run_alpha methods.
+
+       * art_rgb_svp.c, art_rgb_svp.h: Added. Populated with functions to
+       render into an RGB buffer, and to composite over an RGB buffer.
+
+       * Makefile.am: added art_gray_svp, art_rgb, and art_rgb_svp.
+
+       * testart.c: test the color and layered rendering.
+
+Mon Nov 30 01:30:25 1998  Raph Levien  <raph@gimp.org>
+
+       * testart.c: added vector path rendering stuff. Some of it needs
+       to go out of the test framework and into the module, but the
+       api hasn't settled down entirely yet (in the real code, all
+       x's in the step field are within bounds).
+
+       * art_svp_render_aa.c, art_svp_render_aa.c.h: added.
+
+       * art_svp_vpath.c, art_svp_vpath.h: added.
+
+       * art_pathcode.h: added ART_MOVETO_OPEN (libart uses an
+       ART_MOVETO_OPEN code at the beginning to indicate an open path,
+       while PostScript uses the lack of a closepath at the end).
+
+       * art_vpath_bpath.c, art_vpath_bpath.h: fixed it up, added
+       flatness arg to api.
+
+       * Makefile.am: added new source files.
+
+Wed Nov 25 17:19:44 1998  Raph Levien  <raph@gimp.org>
+
+       * art_svp.h, art_svp.c: added, basic constructors for sorted
+       vector paths.
+
+Sun Nov 22 23:21:09 1998  Raph Levien  <raph@gimp.org>
+
+       * Makefile.am (libart_lgplincdir): Fixed stupid bug in naming of
+       the variable.
+
+Sun Nov 22 21:41:13 1998  Raph Levien  <raph@gimp.org>
+
+       * art_uta_vpath.c: moved art_uta_union into art_uta_ops.
+
+       * art_uta_ops.[ch]: added, populated with art_uta_union.
+
+Thu Nov 19 00:19:40 1998  Raph Levien  <raph@gimp.org>
+
+       * libartConf.sh.in: added
+
+       * Makefile.am: added creation of libartConf.sh, added -version-info
+       * configure.in: added LIBART_VERSION_INFO, support for libartConf.sh
+       
+       * libart.m4: updated version history :)
+
+Wed Nov 18 18:15:20 1998  Raph Levien  <raph@gimp.org>
+
+       * configure.in (LIBART_VERSION): set this, so that libart-config
+       --version now works.
+
+Wed Nov 18 16:50:58 1998  Raph Levien  <raph@gimp.org>
+
+       * libart.m4: added (just copied from esound)
+       * configure.in, Makefile.am: added support for libart-config
+       * libart-config.in: added (mostly copied from esound)
+
+Tue Nov 10 12:43:30 1998  Raph Levien  <raph@acm.org>
+
+       * Getting the library in shape for initial checkin to CVS.
+
+