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.


