--- /dev/null
+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.
+
+