Code

Different default font when WIN32 is defined
[rrdtool.git] / libraries / libart_lgpl-2.3.7 / ChangeLog
1 2001-10-31  Anders Carlsson  <andersca@gnu.org>
3         * Release 2.3.7
5 2001-10-15  Raph Levien  <raph@pixel.artofcode.com>
7         * art_svp_intersect.c (art_svp_intersect_horiz): Minor
8         logic fix so that horiz segments successfully cross
9         zero length segments in the active list.
11         (art_svp_intersect_test_cross): Flags indicating whether to
12         do add_point (potentially breaking neighbors) to left and
13         to right.
15         (art_svp_intersect_insert_cross): Provide ART_BREAK_LEFT and
16         ART_BREAK_RIGHT flags to art_svp_intersect_test_cross,
17         depending on direction of search.
19         (art_svp_intersect_advance_cursor): Provide flags (allow
20         both left and right breaking) to test_cross.
21         
22 2001-10-15  Raph Levien  <raph@pixel.artofcode.com>
24         * art_svp_intersect.c (CHEAP_SANITYCHECK): Added an inexpensive
25         sanitycheck to detect multiple insertions of a segment into the
26         horiz list.
28         (art_svp_writer_rewind_add_point): Avoid breaking lines below
29         their bottom point.
31         (art_svp_intersect_test_cross): Handle cases correctly where
32         intersection point matches y0 of left or right segment. These _do_
33         happen in real world examples. Also, do add_point on newly
34         inserted intersection point.
36 2001-10-14  Raph Levien  <raph@pixel.artofcode.com>
38         * art_svp_intersect.c (art_svp_intersect_add_point): Fixed
39         rather subtle logic bug that misplaced insertion point
40         when seg argument was NULL.
42 2001-10-11  Raph Levien  <raph@pixel.artofcode.com>
44         * art_svp_render_aa.c (art_svp_render_aa_iter_step): Got rid
45         of qsort of steps, and now keep the step list in sorted order.
46         Further, we combine duplicate steps with the same x value,
47         which bounds the size of the step list to x1 - x0, so we
48         don't need to dynamically resize it. Thanks greatly to
49         Bruce Q. Hammond for the original version of this patch.
51 2001-10-09  Raph Levien  <raph@pixel.artofcode.com>
53         * art_svp_intersect.c (art_svp_intersect_test_cross): Breaks
54         bottom part of line segments in "too close" cases.
56 2001-10-09  Raph Levien  <raph@pixel.artofcode.com>
58         * art_svp_intersect.c (art_svp_writer_rewind_add_point): Fixed
59         bbox computation.
60         (art_svp_intersector): Handle degenerate case where input
61         SVP has 0 segments.
63         * art_svp_intersect.h: Moved definition of art_svp_intersector
64         inside #ifdef __cplusplus, so it links properly against C++
66 2001-10-09  Raph Levien  <raph@pixel.artofcode.com>
68         * art_svp_intersect.c (art_svp_intersect_break): Handle
69         case when break y equals sweep line correctly. Also adds
70         first try at winding number sanitychecker, but that makes
71         too many false positives.
73 2001-10-07  Raph Levien  <raph@pixel.artofcode.com>
75         * art_svp.c (EPSILON): Set to zero if new intersector is
76         in use - we want svp's to be in strict sorted order.
78         * art_svp_intersect.c (art_svp_intersect_test_cross): Explicitly
79         check that top points are equal, and swap immediately if b is out
80         of order.
81         (art_svp_intersect_horiz): Break segments that intersect
82         horizontal lines. Now passes "two squares with offset" test.
84 2001-10-05  Raph Levien  <raph@pixel.artofcode.com>
86         * art_svp_intersect.c: Major changes to accommodate
87         horizontal lines. Intersections of horizontal lines
88         aren't fully processed, but should work a lot better
89         than before.
91         * testart.c: Minor tweaks. testpat now frees memory
92         so it can be run under memprof to detect leaks.
94 2001-10-03  Raph Levien  <raph@pixel.artofcode.com>
96         * art_svp_intersect.c (art_svp_intersect_advance_cursor):
97         Made test_cross for inserted segments common between
98         intersection processing and cursor advance, and also took
99         care of a case that hadn't been handled before. Also added
100         invariant sanitychecker for debugging purposes.
102 2001-10-02  Raph Levien  <raph@pixel.artofcode.com>
104         * art_svp_ops.c: ART_USE_NEW_INTERSECTOR variants of svp
105         ops changed to do shallow free of merged svp.
107 2001-10-01  Raph Levien  <raph@acm.org>
109         * art_svp_intersect.c:
110         * art_svp_intersect.h:
111         * Makefile.am:
112         * art_misc.h:
113         * art_svp_wind.h: First commit of new intersector code. It is
114           turned off by default, but can be enabled by #defining
115           ART_USE_NEW_INTERSECTOR in art_misc.h.
117         * art_svp_ops.c: Make svp ops use new intersector if enabled.
119         * art_svp_vpath_stroke.c: Make vpath stroking use new intersector
120         if enabled.
121         
122         * testart.c: New test case for intersector.
124 Wed Sep 26 03:48:13 2001  George Lebl <jirka@5z.com>
126         * Release 2.3.6
128 Wed Sep 26 03:11:40 2001  George Lebl <jirka@5z.com>
130         * gen_art_config.c: Fix 64bit issues, cast sizeof return when
131           using %d to print it.
133 2001-09-13  Havoc Pennington  <hp@redhat.com>
135         * Makefile.am: rename library to libart_lgpl_2
137         * libart-2.0.pc.in (Cflags): move includes
139         * libart-config.in: move includes
141         * Makefile.am: delete libartConf.sh, rename libart-config
142         (EXTRA_DIST): don't install m4 files
143         (libart_lgplincdir): move headers
145 2001-08-03  Michael Meeks  <michael@ximian.com>
147         * Version 2.3.5 for the API freeze.
149 2001-07-12  Darin Adler  <darin@bentspoon.com>
151         * art_affine.c: (art_affine_expansion): Fix handling of
152         negative numbers. We ran into this bug a while back when
153         figuring out why librsvg couldn't handle certain svg files.
155 2001-07-12  Darin Adler  <darin@bentspoon.com>
157         * art_misc.h: Change art_expand macro so it's a single
158         statement, using the do while (0) trick, which gets rid
159         of some warnings.
160         * art_pixbuf.c: Add a missing include.
161         * art_vpath_svp.c: (art_vpath_from_svp): Initialize a
162         variable to avoid a compiler warning.
163         * gen_art_config.c: Add a missing include.
165 2001-03-24  Martin Baulig  <baulig@suse.de>
167         Applied the patch from Alexander Larsson which was sitting
168         in gnome-libs/patches/libart.diff since February.
169         [FIXME: Alex, can you please provide a ChangeLog?])
171         * art_rgb_a_affine.[ch]: New files.
173 2001-01-07  Hans Breuer <Hans@Breuer.Org>
174         * art_misc.c : embryonic change to use libart_lgpl on win32
175         * libart.def : new file, exported functions for win32 dll
176         * makefile.msc : handwritten for MSVC compiler
178 2000-09-30  Martin Baulig  <baulig@suse.de>
180         * libart-2.0.pc.in: Provide pkg-config script.
182         * configure.in: Create libart-2.0.pc from libart-2.0.pc.in.
183         * Makefile.am (pkgconfig_DATA): Install the libart-2.0.pc
184         script in `$(libdir)/pkgconfig'.
186 2000-08-15  Raph Levien  <raph@acm.org>
188         * art_render.c (art_render_image_solid_negotiate): Only
189         sets ART_IMAGE_SOURCE_CAN_COMPOSITE when a compositing
190         callback is selected. Previously was causing segfaults on
191         non-alpha images. Thanks to Leonard Rosenthol for spotting
192         the bug.
194 Fri Jun 30 22:56:58 2000  Raph Levien  <raph@acm.org>
196         * art_render.c (art_render_composite): Fixed a bug that caused
197         it to ignore the alpha setting. Also art_render_composite_8().
199 2000-06-01  John Sullivan  <sullivan@eazel.com>
201         * art_svp_render_aa.c: (art_svp_render_aa_iter_step):
202         Made it build by correcting struct member name from
203         Raph's previous checkin.
205 Wed May 31 11:10:58 2000  Raph Levien  <raph@acm.org>
207         * art_svp_render_aa.c (art_svp_render_aa_iter_step): Updated
208         n_steps_max in iter structure after steps reallocation.
210 Tue May 30 10:33:13 2000  Raph Levien  <raph@acm.org>
212         * art_svp_render_aa.c (art_svp_render_aa_iter_step): Fixed not
213         updating iter->steps when steps gets reallocated.
215 2000-05-30  Pavel Cisler <pavel@eazel.com>
217         * art_rgba.c:
218         Make it build -- fix a broken include.
220 Tue May 30 00:09:21 2000  Raph Levien  <raph@acm.org>
222         * art_render_gradient.c (art_render_gradient_setpix): Fixed
223         an off-by-one loop error.
225 Mon May 29 15:00:39 2000  Raph Levien  <raph@acm.org>
227         * Makefile.am: Moved relevant .h files into HEADERS stanza.
229 Mon May 29 13:48:49 2000  Raph Levien  <raph@acm.org>
231         This is a fairly major commit, as it adds both the new, modular
232         rendering architecture and gradients. Quite a bit of the code
233         feels like "reference code" now, in that it is (hopefully)
234         correct, but not necessarily very fast. In addition, there remain
235         a few things not done, including the use of SVP's as non-driver
236         mask sources. AlphaGamma and filter level also remain
237         unimplemented. No compositing modes other than ART_NORMAL are
238         implemented. All in good time!
239         
240         * configure.in: added -Wmissing-prototypes flag. Bumped version
241         number to 2.3.0.
243         * art_render.h:
244         * art_render.c: Added new rendering architecture.
246         * art_render_svp.h:
247         * art_render_svp.c: Added renderers to use SVP's as mask
248         sources in new rendering architecture.
250         * art_render_gradient.h:
251         * art_render_gradient.c: Added linear and radial gradients
252         as image sources in new rendering architecture.
254         * art_rgba.h:
255         * art_rgba.c: Added functions for manipulating and compositing
256         RGBA pixels.
258         * art_svp_wind.c: Added static to trap_epsilon(), #ifdef'd out
259         traverse().
261         * art_uta_ops.c: Added #include "art_uta_ops.h".
263         * art_uta_rect.c: Added #include "art_uta_rect.h".
265         * art_uta_svp.h: fixed __ART_UTA_SVP_H__ name.
267         * art_misc.h: Added ART_GNUC_NORETURN attribute, added that
268         to the prototype for art_die(). Added "static" to function
269         declarations to avoid warnings when compiled with
271         * testart.c: Added gradient test.
273 Thu May 25 23:30:39 2000  Raph Levien  <raph@acm.org>
275         * art_svp_render_aa.h:
276         * art_svp_render_aa.c: Added art_svp_render_aa_iter functions,
277         suitable for iterative rendering of an svp, one scan line at a
278         time.
280         * configure.in: Bumped version to 2.2.0.
282 Tue May 16 15:03:35 2000  Raph Levien  <raph@acm.org>
284         * art_rgb_pixbuf_affine.c: Included corresponding .h file.
286         * art_rgb_pixbuf_affine.h: Put recursive #includes inside
287         LIBART_COMPILATION test.
289         * art_gray_svp.c:
290         * art_rgb_svp.c: Explicit casts for callback data. Also removed
291         "render the steps into tmpbuf" comment.
293         * gen_art_config.c:
294         * Makefile.am:
295         * configure.in: Added code to automatically generate an
296         art_config.h file, to be installed in libart's include dir. This
297         file defines ART_SIZEOF_{CHAR,SHORT,INT,LONG} and art_u{8,16,32}.
299         * art_misc.h: Moved definition of art_u8 and art_u32 into
300         art_config.h. Added GCC printf format attributes.
302         * art_svp_wind.c (traverse): Fixed UMR bug here. The function
303         isn't actually used, so it's just for cleanliness.
305 2000-04-18  Lauris Kaplinski  <lauris@ariman.ee>
307         * art_affine.c (art_affine_to_string): Replaced snprinf with
308         art_ftoa to avoid localisation of generated numbers
310 2000-04-18  ERDI Gergo  <cactus@cactus.rulez.org>
312         * art_rgb_pixbuf_affine.h: Included the ArtPixBuf declaration
314 Fri Apr 14 16:33:55 2000  Raph Levien  <raph@acm.org>
316         * art_svp_wind.c (art_svp_uncross, art_svp_rewind_uncrossed):
317         Fixed uninitialized memory reads when inserting new segment into
318         active_segs.
320         * art_bpath.c (art_bpath_affine_transform): Made it avoid
321         potential uninitialized memory reads when not all the coordinates
322         are needed. Thanks to Morten Welinder for spotting both of these
323         problems.
325 2000-04-05  Raph Levien  <raph@gimp.org>
327         * art_svp_wind.c: Make "colinear" warnings go to stderr instead
328         of stdout. Of course, when I finish the new intersector, these
329         will go away entirely.
331 2000-04-04  Raph Levien  <raph@gimp.org>
333         * art_uta_vpath.c (art_uta_add_line): Fixed bug that was causing
334         segfaults on alphas. Thanks to msw for localizing it.
336 2000-01-17  Raph Levien  <raph@gimp.org>
338         * art_svp_vpath_stroke.c (art_svp_vpath_stroke): Typo in api
339         header (thanks rak).
341 2000-01-16  Timur Bakeyev  <timur@gnu.org>
343         * autoconf.sh: Instead of jumping between srdir and builddir just process
344         all the auto* staff in srcdir. In fact, just saying the same things in 
345         other words.
347 2000-01-10  Elliot Lee  <sopwith@redhat.com>
349         * Makefile.am, *.h: Add rather bad hacks to the header files to allow compilation
351         * Makefile.am: Distribute libart-config.in
353 2000-01-09  Raph Levien  <raph@gimp.org>
355         art_rgb_pixbuf_affine.c, art_rgb_rgba_affine.c, art_rgb_svp.c,
356         art_svp.c, art_svp_ops.c, art_svp_point.c, art_svp_render_aa.c,
357         art_svp_vpath.c, art_svp_vpath_stroke.c, art_svp_wind.c,
358         art_uta.c, art_uta_ops.c, art_uta_rect.c, art_uta_svp.c,
359         art_uta_vpath.c, art_vpath.c, art_vpath_bpath.c, art_vpath_dash.c,
360         art_vpath_svp.c: Added API documentation.
362 Fri Sep 24 17:53:21 1999  Raph Levien  <raph@acm.org>
364         * art_svp_render_aa.c (art_svp_render_insert_active): Avoid
365         reading undefined memory (thanks to Morten Welinder).
367 1999-09-19  Raph Levien  <raph@gimp.org>
369         * art_pixbuf.c (art_pixbuf_duplicate): Added a duplicate function
370         at the request of Michael Meeks.
372 1999-09-11  Raph Levien  <raph@gimp.org>
374         * art_affine.c (art_affine_to_string): Tightened the predicate for
375         matching rotate-only affines, which was too weak. Thanks to lewing
376         for spotting it!
378 1999-09-01  Raph Levien  <raph@gimp.org>
380         * art_affine.c, art_alphagamma.c, art_bpath.c, art_gray_svp.c,
381         art_misc.c, art_pixbuf.c, art_rect.c, art_rect_svp.c,
382         art_rect_uta.c, art_rgb.c, art_rgb_affine.c,
383         art_rgb_bitmap_affine.c: Updates to api doc headers.
385 1999-08-24  Raph Levien  <raph@gimp.org>
387         * art_affine.c, art_alphagamma.c, art_alphagamma.h, art_bpath.c,
388         art_bpath.h, art_gray_svp.c, art_misc.c, art_pixbuf.c,
389         art_pixbuf.h, art_point.h, art_rect.c, art_rect.h: Added api
390         documentation headers.
392         * testart.c: Added "dash" test, for testing the vpath_dash
393         functions.
395         * art_rgb_pixbuf_affine.h: Fixed the #ifdef for conditional
396         inclusion. Thanks to Kristian Hogsberg Kristensen for spotting
397         the bug.
399 1999-08-24  Raph Levien  <raph@gimp.org>
401         * art_svp_render_aa.c (art_svp_render_aa): Added some tests to
402         avoid NaN for infinite slopes, which were causing problems on
403         Alphas. Closes bug #1966.
405 1999-08-20  Federico Mena Quintero  <federico@redhat.com>
407         * configure.in: Fixed library's libtool version number.
409 1999-08-03  Larry Ewing  <lewing@gimp.org>
411         * art_vpath_dash.c (art_vpath_dash): fix a bug/typo that was causing
412         certain paths to loop infinitely.
414 1999-07-28  Raph Levien  <raph@gimp.org>
416         * art_vpath_dash.[ch]: Added a function to add a dash style
417         to vpaths. It is tested, but has a couple of rough edges (see
418         code for details).
420         * testart.c: added tests for the new vpath_dash functionality.
422         * Makefile.am: added art_vpath_dash.[ch] files.
424 1999-07-26  Raph Levien  <raph@gimp.org>
426         * art_rgb.c (art_rgb_fill_run): fixed incorrect test for
427         big-endianness. Thanks to Michael Zucchi for spotting it.
429 Fri Jul 16 23:42:59 1999  Tim Janik  <timj@gtk.org>
431         * art_affine.c (art_affine_flip): flip translation matrixes as well, by
432         inverting matrix[4] if (horz) and inverting matrix[5] if (vert).
434 Fri Jul 16 23:03:26 1999  Tim Janik  <timj@gtk.org>
436         * art_pixbuf.[hc]: deprecated art_pixbuf_free_shallow(), people should
437         always free pixbufs with art_pixbuf_free() and use the _dnotify variants
438         for specific destruction behaviour.
439         added art_pixbuf_new_rgb_dnotify() and art_pixbuf_new_rgba_dnotify()
440         which allow for a destruction notification function. (this involved
441         adding two extra pointers to the ArtPixBuf structure, and removal of
442         the recently introduced int flags field).
444 Mon Jul 12 01:13:23 1999  Tim Janik  <timj@gtk.org>
446         * art_affine.[hc]: added art_affine_equal(), which checks two
447         matrixes for equality within grid alignment.
449 Fri Jul  9 17:50:19 1999  Tim Janik  <timj@gtk.org>
451         * art_affine.[hc]: added art_affine_flip() to flip a matrix horizontally
452         and/or vertically, or just copy it.
453         added art_affine_shear() to setup a shearing matrix.
455 Tue Jul  6 19:03:39 1999  Tim Janik  <timj@gtk.org>
457         * art_pixbuf.h: added an int flags; member to the end of the
458         structure, it currently only holds information about whether the
459         pixels member should be freed. (raph: i think flags is more generic
460         than free_pixels, so we can reuse that field if further demands popup
461         in the future).
463         * art_pixbuf.c:
464         (art_pixbuf_new_const_rgba):
465         (art_pixbuf_new_const_rgb): new functions that prevent the pixels
466         member from being freed upon art_pixbuf_free ().
467         (art_pixbuf_free): only free the pixels member if it is non-NULL and
468         the PIXBUF_FLAG_DESTROY_PIXELS is set.
470 1999-07-02  Raph Levien  <raph@gimp.org>
472         * art_vpath_bpath.c (art_vpath_render_bez): Bad bad uninitialized
473         variables.
475         * configure.in: added compile warnings. Guess why :)
477 1999-06-28  Raph Levien  <raph@gimp.org>
479         * art_svp_point.h:
480         * art_svp_point.c: Added methods for insideness and distance
481         testing, very useful for ::point methods in canvas items.
483         * testart.c: test code to exercise the art_svp_point functions.
485         * Makefile.am: Additional entries for art_svp_point.
487 1999-06-28  Raph Levien  <raph@gimp.org>
489         * art_svp_render_aa.c (art_svp_render_aa): Subtle boundary
490         case in realloc code -- was causing nasty segfaults.
492 Wed Jun 23 15:05:43 1999  Raph Levien  <raph@gimp.org>
494         * art_rgb_svp.c (art_rgb_svp_alpha_opaque_callback): Missed a
495         case in the anti-segfault crusade. Thanks lewing!
497 Wed Jun 23 11:16:42 1999  Raph Levien  <raph@gimp.org>
499         * art_rgb_svp.c: Made these routines so they won't segfault even
500         if alpha is out of range. Of course, that begs the question of
501         fixing the render routines so they won't _make_ alpha go out of
502         range, but all in good time.
504 Fri Jun 18 17:32:34 1999  Raph Levien  <raph@acm.org>
506         * art_vpath_bpath.c (art_bez_path_to_vec): Switched to a new
507         adaptive subdivision algorithm, which (finally!) takes flatness
508         into account. This should result in both smoother curves and
509         faster operation.
511 Sun Jun 13 21:07:20 1999  Raph Levien  <raph@gimp.org>
513         * art_svp_wind.c (art_svp_rewind_uncrossed): Made the winding
514         rule logic even more correct :). I somehow missed the fact that
515         a clockwise path should be given a winding number of zero;
516         last night's commit tried to make it -1 (which worked for the
517         test cases I was using).
519 Sun Jun 13 01:23:14 1999  Raph Levien  <raph@gimp.org>
521         * art_svp_wind.c (art_svp_rewind_uncrossed): Change to winding
522         rule logic so that it correctly handles the case where the
523         leftmost segment is negative.
525         * Makefile.am (libart_lgplinc_HEADERS): made art_svp_wind.h
526         a public headerfile. This is needed for the bpath canvas item.
527         I'm not sure this is the correct way to do it, but it will do
528         for now.
530         * art_vpath_bpath.h: 
531         * art_vpath_bpath.c (art_bez_path_to_vec): Added const to arg.
533         * art_vpath_bpath.h: Embarrassing typo.
535         * art_bpath.h: Minor tweaks to the #include paths. It is now
536         consistent with the other header files.
538 Wed Jun  9 20:24:45 1999  Raph Levien  <raph@gimp.org>
540         * art_svp_vpath_stroke.c: Added all remaining line join and cap
541         types, including round, which takes flatness into account. Several
542         new internal functions (art_svp_vpath_stroke_arc) and added
543         flatness argument to a few internal functions. I might want to
544         change the BEVEL join type to MITER for very small turn angles
545         (i.e. within a flatness threshold) for efficiency.
547         * art_misc.h: Added M_SQRT2 constant.
549 Wed Jun  2 21:56:30 1999  Raph Levien  <raph@gimp.org>
551         * art_svp_vpath_stroke.c (art_svp_vpath_stroke_raw): Made the
552         closed path detection capable of PostScript semantics (i.e. it
553         now senses the difference between ART_MOVETO and ART_MOVETO_OPEN).
555         * art_svp_vpath_stroke.c (art_svp_vpath_stroke_raw): it now
556         filters out successive points that are (nearly) coincident. This
557         fixes some of the crashes and hangs, including Tim Janik's
558         singularity (trying to stroke MOVETO 50, 50; LINETO 50, 50; END).
560         * art_svp_wind.c (art_svp_rewind_uncrossed): added a test to
561         correctly handle empty input svp's.
563         * art_svp_wind.c (art_svp_uncross): added a test to correctly
564         handle empty input svp's.
566 Sun Jan 17 20:53:40 1999  Jeff Garzik  <jgarzik@pobox.com>
568         * art_affine.c:
569         Include string.h for memcpy.
571         * art_svp_vpath.c:
572         Remove conflicting static func definition.
574         * art_uta_svp.c:
575         Include art_vpath_svp.h for func definition.
577 Mon Jan  4 12:47:47 1999  Raph Levien  <raph@acm.org>
579         * art_bpath.c (art_bpath_affine_transform): Stupid misnaming
580         of this function (forgot the "art_").
582 Thu Dec 31 09:04:23 1998  Raph Levien  <raph@gimp.org>
584         * art_affine.c (art_affine_rectilinear): Added this function.
586         * art_rect.c (art_drect_affine_transform): Corrected the name (it
587         was right in the .h). Also made it work with non-rectilinear
588         transforms, while I was at it.
590 Thu Dec 17 11:58:24 1998  Raph Levien  <raph@acm.org>
592         * art_alphagamma.h:
593         * art_alphagamma.c: The real code for alphagamma.
595 Wed Dec 16 14:18:46 1998  Raph Levien  <raph@gimp.org>
597         * art_alphagamma.h:
598         * art_alphagamma.c: Added. At present, it only contains a dummy
599         stub. When the real code is added, it supports doing alpha
600         compositing in a gamma-corrected color space (suppressing
601         jaggies).
603         * art_pixbuf.h:
604         * art_pixbuf.c: Added. This is a virtualization layer over
605         a few different kinds of image formats.
607         * art_rgb_pixbuf_affine.h:
608         * art_rgb_pixbuf_affine.c: Added. Supports compositing of
609         generic images over an rgb buffer.
611         * art_affine.h: 
612         * art_affine.c (art_affine_expansion): Added this function,
613         which reports the exact scale factor in the case of rotation,
614         scaling, and transformation (an approximate number in the
615         case of shearing or anamorphic distortion).
617         * art_misc.h:
618         * art_misc.c (art_warn): Added.
620         * art_rgb_affine.h:
621         * art_rgb_affine.c: Added alphagamma argument (not yet implemented).
623         * art_rgb_affine_private.c: Fixed typo bug that was causing
624         repaint problems for nonsquare images.
626         * art_rgb_bitmap_affine.h:
627         * art_rgb_bitmap_affine.c: Major speed improvement, probably fixed
628         correctness while I was at it. Added alphagamma argument (not yet
629         implemented).
631         * art_rgb_svp.h:
632         * art_rgb_svp.c: Added alphagamma argument (only implemented
633         in aa case, not yet alpha case).
635         * art_vpath.c: increased perturbation to 2e-3, because the old
636         value (1e-6) was too small.
638         * testart.c: added alphagamma.
639         
640         * Makefile.am: added new files
642 Sun Dec 27 21:45:03 1998  Raph Levien  <raph@gimp.org>
644         * art_rect.h: 
645         * art_rect.c: Added DRect versions of the basic ops (double
646         rather than int).
648         * art_rect_svp.h:
649         * art_rect_svp.c: Added. This computes the bounding box of
650         an svp.
652 Wed Dec 16 14:18:46 1998  Raph Levien  <raph@gimp.org>
654         * art_alphagamma.h:
655         * art_alphagamma.c: Added. At present, it only contains a dummy
656         stub. When the real code is added, it supports doing alpha
657         compositing in a gamma-corrected color space (suppressing
658         jaggies).
660         * art_pixbuf.h:
661         * art_pixbuf.c: Added. This is a virtualization layer over
662         a few different kinds of image formats.
664         * art_rgb_pixbuf_affine.h:
665         * art_rgb_pixbuf_affine.c: Added. Supports compositing of
666         generic images over an rgb buffer.
668         * art_affine.h: 
669         * art_affine.c (art_affine_expansion): Added this function,
670         which reports the exact scale factor in the case of rotation,
671         scaling, and transformation (an approximate number in the
672         case of shearing or anamorphic distortion).
674         * art_misc.h:
675         * art_misc.c (art_warn): Added.
677         * art_rgb_affine.h:
678         * art_rgb_affine.c: Added alphagamma argument (not yet implemented).
680         * art_rgb_affine_private.c: Fixed typo bug that was causing
681         repaint problems for nonsquare images.
683         * art_rgb_bitmap_affine.h:
684         * art_rgb_bitmap_affine.c: Major speed improvement, probably fixed
685         correctness while I was at it. Added alphagamma argument (not yet
686         implemented).
688         * art_rgb_svp.h:
689         * art_rgb_svp.c: Added alphagamma argument (only implemented
690         in aa case, not yet alpha case).
692         * art_vpath.c: increased perturbation to 2e-3, because the old
693         value (1e-6) was too small.
695         * testart.c: added alphagamma.
696         
697         * Makefile.am: added new files
699 Mon Dec 14 00:16:53 1998  Raph Levien  <raph@gimp.org>
701         * art_affine.c (art_affine_to_string): re-added the "scale" method
702         that was accidentally deleted before check-in.
704         * Makefile.am: added new files
706 Sun Dec 13 00:52:39 1998  Raph Levien  <raph@gimp.org>
708         * art_affine.h:
709         * art_affine.c: Added. Everything you ever wanted to do with an
710         affine transform. Especially check the functions that generate
711         concise PostScript strings for affine transforms.       
713         * art_filterlevel.h: A simple enum for selecting filtering
714         style.
716         * art_rgb_affine.h:
717         * art_rgb_affine.c (art_rgb_affine): Added. This function
718         composites an (opaque) rgb image over an rgb pixel buffer. At
719         present, it's slow and only nearest neighbor filtering is enabled.
721         * art_rgb_rgba_affine.h:
722         * art_rgb_rgba_affine.c: Analogous, but for compositing rgba
723         images.
725         * art_rgb_bitmap_affine.h:
726         * art_rgb_bitmap_affine.c: Analogous, but for compositing bitmap
727         images.
729         * art_rgb_affine_private.c (art_rgb_affine_run): Added. This is
730         a common function used by all the rgb_affine modules to move
731         testing for source image bbox out of the inner loop.
733         * Makefile.am: added the new files
735         * testart.c: exercise the image compositors
737 Wed Dec  9 23:36:35 1998  Raph Levien  <raph@gimp.org>
739         * art_vpath.c (art_vpath_perturb): Made it deal correctly
740         with closed paths (the MOVETO and closing LINETO have to
741         agree).
743         * art_svp_wind.c: Made the bbox calculations for the resulting
744         svp's correct.
746         * art_svp.h:
747         * art_svp.c: The art_svp_seg_compare function moved here, because
748         it's required in art_svp_ops.
750         * art_svp.c (art_svp_add_segment): It now does bbox calculations.
752         * art_svp_ops.h: 
753         * art_svp_ops.c: Added. Populated with basic union, intersection,
754         and diff functions.
756         * art_vpath_svp.h: 
757         * art_vpath_svp.c: Added. Populated with a function to convert
758         from sorted to unsorted vector paths
760         * Makefile.am: added the new files
762         * testart.c: exercise the stroke outline and vector path
763         operations.
765 1998-12-08  Herbert Valerio Riedel  <hvr@hvrlab.ml.org>
767         * art_svp_wind.c: added #include <string.h> for memcpy()
769 Sun Dec  6 22:15:12 1998  Raph Levien  <raph@gimp.org>
771         * art_svp_wind.[ch], art_svp_vpath_stroke.[ch]: Added, but it
772         doesn't work yet. These will do stroke outline and basic
773         vector ops like union, intersect, etc.
775         * art_svp_render_aa.c: Added a simple speedup based on bbox
776         culling. I will want to do more speedups, but none of this is
777         necessary for the freeze.
779         * art_svp_vpath.c: Fixed some bugs in the art_svp_from_vpath in
780         cases where there is more than one subpath.
782         * art_vpath.h:
783         * art_vpath.c (art_vpath_perturb): Added this function.  This will
784         help cheat as long as the basic vector ops have numerical
785         stability problems.
787 Fri Dec  4 18:00:38 1998  Raph Levien  <raph@gimp.org>
789         * art_svp_render_aa.c (art_svp_render_aa): Changed the api
790         slightly, to guarantee that the steps are all within the range
791         from x0 (inclusive) to x1 (exclusive).
793         * art_gray_svp.c, art_gray_svp.h: Added. Populated with functions
794         to render into a simple graymap.
796         * art_rgb.c, art_rgb.c: Added. Populated with fill_run and
797         run_alpha methods.
799         * art_rgb_svp.c, art_rgb_svp.h: Added. Populated with functions to
800         render into an RGB buffer, and to composite over an RGB buffer.
802         * Makefile.am: added art_gray_svp, art_rgb, and art_rgb_svp.
804         * testart.c: test the color and layered rendering.
806 Mon Nov 30 01:30:25 1998  Raph Levien  <raph@gimp.org>
808         * testart.c: added vector path rendering stuff. Some of it needs
809         to go out of the test framework and into the module, but the
810         api hasn't settled down entirely yet (in the real code, all
811         x's in the step field are within bounds).
813         * art_svp_render_aa.c, art_svp_render_aa.c.h: added.
815         * art_svp_vpath.c, art_svp_vpath.h: added.
817         * art_pathcode.h: added ART_MOVETO_OPEN (libart uses an
818         ART_MOVETO_OPEN code at the beginning to indicate an open path,
819         while PostScript uses the lack of a closepath at the end).
821         * art_vpath_bpath.c, art_vpath_bpath.h: fixed it up, added
822         flatness arg to api.
824         * Makefile.am: added new source files.
826 Wed Nov 25 17:19:44 1998  Raph Levien  <raph@gimp.org>
828         * art_svp.h, art_svp.c: added, basic constructors for sorted
829         vector paths.
831 Sun Nov 22 23:21:09 1998  Raph Levien  <raph@gimp.org>
833         * Makefile.am (libart_lgplincdir): Fixed stupid bug in naming of
834         the variable.
836 Sun Nov 22 21:41:13 1998  Raph Levien  <raph@gimp.org>
838         * art_uta_vpath.c: moved art_uta_union into art_uta_ops.
840         * art_uta_ops.[ch]: added, populated with art_uta_union.
842 Thu Nov 19 00:19:40 1998  Raph Levien  <raph@gimp.org>
844         * libartConf.sh.in: added
846         * Makefile.am: added creation of libartConf.sh, added -version-info
847         * configure.in: added LIBART_VERSION_INFO, support for libartConf.sh
848         
849         * libart.m4: updated version history :)
851 Wed Nov 18 18:15:20 1998  Raph Levien  <raph@gimp.org>
853         * configure.in (LIBART_VERSION): set this, so that libart-config
854         --version now works.
856 Wed Nov 18 16:50:58 1998  Raph Levien  <raph@gimp.org>
858         * libart.m4: added (just copied from esound)
859         * configure.in, Makefile.am: added support for libart-config
860         * libart-config.in: added (mostly copied from esound)
862 Tue Nov 10 12:43:30 1998  Raph Levien  <raph@acm.org>
864         * Getting the library in shape for initial checkin to CVS.