source: trunk/third/libart_lgpl/ChangeLog @ 20813

Revision 20813, 37.9 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20812, which included commits to RCS files with non-trunk default branches.
Line 
1Tue Sep 09 16:30:31 2003  George Lebl <jirka@5z.com>
2
3        * Release 2.3.16
4
5        * art_render_gradient.c: revert the double comparison test in the
6          asserts and comment out the two asserts causing crashes
7          everywhere, see bug #121850
8
92003-09-02  Alexander Larsson  <alexl@redhat.com>
10
11        * configure.in: 2.3.15
12
132003-08-26  Morten Welinder  <terra@gnome.org>
14
15        * art_render_gradient.c (art_render_gradient_linear_render_8): Fix
16        vertical gradients.  Fix yet more floating point comparisons using
17        !=.  For the record, Gnumeric is a heavy user.
18
192003-08-14  Tor Lillqvist  <tml@iki.fi>
20
21        Some nitpicking changes for Win32:
22
23        * libart-features.h.in: Declare the variables from the library as
24        dlimport/dllexport on Win32.
25
26        * Makefile.am: Don't use -lm on Win32. Use the libart.def file.
27
28        * makefile.msc: Update to generate same name DLL and import
29        library as auto* and libtool. Add missing objects. (But dunno if
30        it is useful to maintain this file. It isn't distributed in the
31        source tarballs (should it be?). And, if it were distributed, and
32        the intention was to support random people really building libart
33        with MSVC, one should distribute also prebuilt config.h(.win32)
34        and libart-features.h(.win32) files.)
35
36        * libart-zip.in (DEVZIP): Fix typo.
37        (DLLDIR): libtool 1.5 installs DLLs in $(prefix)/bin, so look
38        there, too.
39
40        * libart.def: Add missing entry points.
41
42        * testuta.c: To check that the export/import of the version
43        variables work, print out them in a comment. Undefine
44        LIBART_COMPILATION before including libart-features.h.
45
462003-08-08  Alexander Larsson  <alexl@redhat.com>
47
48        * configure.in: 2.3.14
49
50Fri Jul 25 12:29:35 2003  George Lebl <jirka@5z.com>
51
52        * art_render_gradient.c (art_render_gradient_linear_render_8)
53          (art_render_gradient_linear_render) (art_render_gradient_linear)
54          (art_render_gradient_radial_render) (art_render_gradient_radial):
55          Redo the checks where float was compared by == or != to using
56          the EPSILON define.  Also copy the ArtGradientLinear and
57          ArtGradientRadial into the source structure, pretending that
58          these are constants that will never change or be freed by
59          the caller is utterly evil and in fact for librsvg it is
60          not constant.  This fixes some more very random crashes
61          when using librsvg with libart (which seems to be the
62          only usage of the gradient stuff)
63
64Fri Jul 18 12:57:36 2003  George Lebl <jirka@5z.com>
65
66        * art_render_gradient.c: Fix more comparison-of-doubles by == bugs,
67          this code is uber ugly.  Should fix the fairly random crashes
68          on asserts I've been having.
69
702003-07-11  Michael Meeks  <michael@ximian.com>
71
72        * Version 2.3.13
73
742003-07-11  Federico Mena Quintero  <federico@ximian.com>
75
76        * art_svp_ops.c (art_svp_minus): impl.
77
78Tue Jul 08 01:15:02 2003  George Lebl <jirka@5z.com>
79
80        * art_render_gradient.c: fix comment as pointed out by alex
81
82Tue Jul 08 01:13:48 2003  George Lebl <jirka@5z.com>
83
84        * art_render_gradient.c (art_render_gradient_linear_render_8):
85          when we wish to find the current segment and we go beyond the
86          last stop due to float fun, use the last segment as that's
87          really what we want.  Avoids a very abrupt assert death.
88
892003-05-05  Alexander Larsson  <alexl@redhat.com>
90
91        * configure.in:
92        Bump to 2.3.12
93
942003-04-24  Alexander Larsson  <alexl@redhat.com>
95
96        * art_uta_vpath.c (art_uta_from_vpath):
97        Don't silently stomp on memory on bad vpaths.
98
992003-04-11  Alexander Larsson  <alexl@redhat.com>
100
101        * art_svp_vpath_stroke.c (render_seg):
102        Handle cases when dmr2 is very small better.
103
1042003-04-10  Alexander Larsson  <alexl@redhat.com>
105
106        * art_svp_wind.c (x_order_2):
107        Handle horizontally aligned segments.
108
1092002-11-25  Alexander Larsson  <alexl@redhat.com>
110
111        * configure.in: Bump to 2.3.11
112
1132002-10-16  John Harper  <jsh@unfactored.org>
114
115        * art_render_svp.c (art_render_svp_callback,
116        art_render_svp_callback_span, art_render_svp_callback_opacity,
117        art_render_svp_callback_opacity_span): if no runs would
118        normally be emitted, but start is greater than zero, emit a
119        single run covering the entire width of the rendered region
120
1212002-08-18  Havoc Pennington  <hp@pobox.com>
122
123        * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with
124        both automake 1.6 and 1.4 installed get the right automake. Means
125        compilation from CVS will now require the latest automake 1.4
126        release, or manually creating symlinks called "automake-1.4" and
127        "aclocal-1.4"
128
1292002-07-01  Alexander Larsson  <alexl@redhat.com>
130
131        * Release 2.3.10
132
1332002-07-01  Alexander Larsson  <alexl@redhat.com>
134
135        * configure.in (LIBART_VERSION_INFO):
136        Bump to 2.3.10
137
138        * art_svp_intersect.c (art_svp_intersect_add_seg):
139        Initialize seg->wind_left to zero, this avoids
140        uninitialized memory read later in art_svp_intersect_horiz_commit.
141
1422002-06-24  Alexander Larsson  <alexl@redhat.com>
143
144        Release 2.3.9.
145       
1462002-06-24  Alexander Larsson  <alexl@redhat.com>
147
148        * configure.in: Bump to 2.3.9
149
1502002-06-04  Balamurali Viswanathan <balamurali.viswanathan@wipro.com>
151
152        * Makefile.am: Added -lm to libart_lgpl_2_la_LIBADD
153        fixes bug 75711 (Jacob's suggestion)
154
1552002-05-08  Raph Levien  <raph@pixel.artofcode.com>
156
157        * art_uta_vpath.c (art_uta_add_line): Fixes very subtle
158        edge case found by Federico Mena Quintero: (96, 96) -
159        (96.220200017562348, 93.034868598919431). Previously, through
160        numerical error, xn was a hair to the left, throwing off
161        the Bresenham iteration.
162
1632002-03-08  Tor Lillqvist  <tml@iki.fi>
164
165        * configure.in: Minor changes for build on Win32. Call
166        AC_LIBTOOL_WIN32_DLL. Set automake conditionals OS_WIN32 and
167        MS_LIB_AVAILABLE.
168
169        * art_affine.c: Include art_misc.h for M_PI, which not necessarily
170        is in math.h.
171
172        * Makefile.am: On Win32, build and install import libraries, both
173        for gcc and for MSVC (if available).
174
175        * libart-zip.in: New file. Used to build runtime and developer
176        package for Win32.
177
1782002-02-06  Laszlo Peter  <laca@ireland.sun.com>
179
180        * configure.in: add AC_FUNC_ALLOCA
181
182        * art_render_gradient.c: copy alloca hacks from glib/galloca.h
183
1842002-02-02  Alexander Larsson  <alla@lysator.liu.se>
185
186        * art_render.c:
187        Add special case for art_render_composite_8 for two cases
188        that are very common when rendering SVGs with librsvg.
189        I'm sure these can be optimized further, but i'm feeling
190        very slow today.
191
1922002-02-01  Alex Larsson  <alexl@redhat.com>
193
194        * art_render_gradient.c:
195        Add optimized case for depth==8,  n_channels == 3
196
197        * test_gradient.c:
198        Test case for gradients. Uses gtk+, so not built by
199        default.
200
2012002-01-10  Anders Carlsson  <andersca@gnu.org>
202
203        * Release 2.3.8
204
2052002-01-04  Anders Carlsson  <andersca@gnu.org>
206
207        * configure.in: Bump version to 2.3.8.
208
2092002-01-03  Darin Adler  <darin@bentspoon.com>
210
211        * Makefile.am: Add art_render_mask.[ch].
212
213        * art_bpath.h:
214        * art_rect_svp.h:
215        * art_rect_uta.h:
216        * art_render.h:
217        * art_render_gradient.h:
218        * art_render_mask.h:
219        * art_render_svp.h:
220        * art_rgb_svp.h:
221        * art_svp_intersect.h:
222        * art_svp_ops.h:
223        * art_svp_point.h:
224        * art_svp_render_aa.h:
225        * art_svp_vpath.h:
226        * art_svp_vpath_stroke.h:
227        * art_svp_wind.h:
228        * art_uta.h:
229        * art_uta_rect.h:
230        * art_uta_ops.h:
231        * art_uta_svp.h:
232        * art_uta_vpath.h:
233        * art_vpath_bpath.h:
234        * art_vpath_dash.h:
235        * art_vpath_svp.h:
236        Fix includes so that each header includes what it needs.
237
238        * art_affine.c:
239        * art_alphagamma.c:
240        * art_bpath.c:
241        * art_gray_svp.c:
242        * art_misc.c:
243        * art_pixbuf.c:
244        * art_rect.c:
245        * art_rect_svp.c:
246        * art_rect_uta.c:
247        * art_render.c:
248        * art_render_gradient.c:
249        * art_render_mask.c:
250        * art_render_svp.c:
251        * art_rgb.c:
252        * art_rgb_a_affine.c:
253        * art_rgb_affine.c:
254        * art_rgb_affine_private.c:
255        * art_rgb_bitmap_affine.c:
256        * art_rgb_pixbuf_affine.c:
257        * art_rgb_rgba_affine.c:
258        * art_rgb_svp.c:
259        * art_rgba.c:
260        * art_svp.c:
261        * art_svp_intersect.c:
262        * art_svp_ops.c:
263        * art_svp_point.c:
264        * art_svp_render_aa.c:
265        * art_svp_vpath.c:
266        * art_svp_vpath_stroke.c:
267        * art_svp_wind.c:
268        * art_uta.c:
269        * art_uta_ops.c:
270        * art_uta_rect.c:
271        * art_uta_svp.c:
272        * art_uta_vpath.c:
273        * art_vpath.c:
274        * art_vpath_bpath.c:
275        * art_vpath_dash.c:
276        * art_vpath_svp.c:
277        Fix order of includes so that the corresponding header is
278        included first, to test that each header includes what it
279        needs.
280
2812002-01-02  Darin Adler  <darin@bentspoon.com>
282
283        * art_alphagamma.h:
284        * art_gray_svp.h:
285        * art_pixbuf.h:
286        * art_render.h:
287        * art_rgb.h:
288        * art_rgba.h:
289        Add some missing includes.
290
2912001-12-26  Raph Levien  <raph@pixel.artofcode.com>
292
293        * art_svp_intersect.c: More fixes to intersector. When tops
294        coincide, full ordering test is performed (with breaking),
295        rather than just comparing b from line eq. Also, had a test
296        for x >= backwards in art_svp_intersect_add_point. Thanks
297        to Bruce Q. Hammond for test cases.
298
2992001-11-21  Raph Levien  <raph@pixel.artofcode.com>
300
301        * art_svp_intersect.c (art_svp_intersect_break): Changed break
302        logic systematically so that new breaks are always in order,
303        rather than allowing them to become out of order, then try to fix
304        them up later. It's no doubt possible to come up with cases in
305        which this reduces precision, but it simplifies life nicely, so I
306        did it.
307       
308        * (art_svp_intersect_horiz): Initialize (a, b, c) values of hs to
309        avoid UMR's when they are tested later.
310
311        * art_svp_ops.c (print_ps_vpath): Changed the coordinate
312        transform so that it's done in the PostScript rather than
313        the C code that outputs the coordinates. This makes it easier
314        to reconstruct the vector path from the debug output.
315
3162001-11-16  Alex Larsson  <alexl@redhat.com>
317
318        * art_rect.c (art_drect_svp_union, art_drect_svp):
319        Don't call art_drect_union() in these functions, since
320        it considers zero-width or zero-height svg segments to
321        be empty. This causes it to think i.e. rectangular svps
322        are empty.
323
3242001-11-07  Raph Levien  <raph@pixel.artofcode.com>
325
326        * art_svp_intersect.c (art_svp_intersect_horiz): Fixed important
327        logic bug, failing to test crossings of neighbors when inserting
328        horizontal lines. Also changed printf to art_dprint.
329
330        * art_misc.c (art_dprint): Added function for debug printing,
331        so verbose intersector output doesn't have to go through printf.
332
333        * art_misc.h (ART_USE_NEW_INTERSECTOR): I've turned this on
334        now, as the new intersector certainly seems to be performing
335        better than the old one now.
336
3372001-10-31  Anders Carlsson  <andersca@gnu.org>
338
339        * Release 2.3.7
340
3412001-10-15  Raph Levien  <raph@pixel.artofcode.com>
342
343        * art_svp_intersect.c (art_svp_intersect_horiz): Minor
344        logic fix so that horiz segments successfully cross
345        zero length segments in the active list.
346
347        (art_svp_intersect_test_cross): Flags indicating whether to
348        do add_point (potentially breaking neighbors) to left and
349        to right.
350
351        (art_svp_intersect_insert_cross): Provide ART_BREAK_LEFT and
352        ART_BREAK_RIGHT flags to art_svp_intersect_test_cross,
353        depending on direction of search.
354
355        (art_svp_intersect_advance_cursor): Provide flags (allow
356        both left and right breaking) to test_cross.
357       
3582001-10-15  Raph Levien  <raph@pixel.artofcode.com>
359
360        * art_svp_intersect.c (CHEAP_SANITYCHECK): Added an inexpensive
361        sanitycheck to detect multiple insertions of a segment into the
362        horiz list.
363
364        (art_svp_writer_rewind_add_point): Avoid breaking lines below
365        their bottom point.
366
367        (art_svp_intersect_test_cross): Handle cases correctly where
368        intersection point matches y0 of left or right segment. These _do_
369        happen in real world examples. Also, do add_point on newly
370        inserted intersection point.
371
3722001-10-14  Raph Levien  <raph@pixel.artofcode.com>
373
374        * art_svp_intersect.c (art_svp_intersect_add_point): Fixed
375        rather subtle logic bug that misplaced insertion point
376        when seg argument was NULL.
377
3782001-10-11  Raph Levien  <raph@pixel.artofcode.com>
379
380        * art_svp_render_aa.c (art_svp_render_aa_iter_step): Got rid
381        of qsort of steps, and now keep the step list in sorted order.
382        Further, we combine duplicate steps with the same x value,
383        which bounds the size of the step list to x1 - x0, so we
384        don't need to dynamically resize it. Thanks greatly to
385        Bruce Q. Hammond for the original version of this patch.
386
3872001-10-09  Raph Levien  <raph@pixel.artofcode.com>
388
389        * art_svp_intersect.c (art_svp_intersect_test_cross): Breaks
390        bottom part of line segments in "too close" cases.
391
3922001-10-09  Raph Levien  <raph@pixel.artofcode.com>
393
394        * art_svp_intersect.c (art_svp_writer_rewind_add_point): Fixed
395        bbox computation.
396        (art_svp_intersector): Handle degenerate case where input
397        SVP has 0 segments.
398
399        * art_svp_intersect.h: Moved definition of art_svp_intersector
400        inside #ifdef __cplusplus, so it links properly against C++
401
4022001-10-09  Raph Levien  <raph@pixel.artofcode.com>
403
404        * art_svp_intersect.c (art_svp_intersect_break): Handle
405        case when break y equals sweep line correctly. Also adds
406        first try at winding number sanitychecker, but that makes
407        too many false positives.
408
4092001-10-07  Raph Levien  <raph@pixel.artofcode.com>
410
411        * art_svp.c (EPSILON): Set to zero if new intersector is
412        in use - we want svp's to be in strict sorted order.
413
414        * art_svp_intersect.c (art_svp_intersect_test_cross): Explicitly
415        check that top points are equal, and swap immediately if b is out
416        of order.
417        (art_svp_intersect_horiz): Break segments that intersect
418        horizontal lines. Now passes "two squares with offset" test.
419
4202001-10-05  Raph Levien  <raph@pixel.artofcode.com>
421
422        * art_svp_intersect.c: Major changes to accommodate
423        horizontal lines. Intersections of horizontal lines
424        aren't fully processed, but should work a lot better
425        than before.
426
427        * testart.c: Minor tweaks. testpat now frees memory
428        so it can be run under memprof to detect leaks.
429
4302001-10-03  Raph Levien  <raph@pixel.artofcode.com>
431
432        * art_svp_intersect.c (art_svp_intersect_advance_cursor):
433        Made test_cross for inserted segments common between
434        intersection processing and cursor advance, and also took
435        care of a case that hadn't been handled before. Also added
436        invariant sanitychecker for debugging purposes.
437
4382001-10-02  Raph Levien  <raph@pixel.artofcode.com>
439
440        * art_svp_ops.c: ART_USE_NEW_INTERSECTOR variants of svp
441        ops changed to do shallow free of merged svp.
442
4432001-10-01  Raph Levien  <raph@acm.org>
444
445        * art_svp_intersect.c:
446        * art_svp_intersect.h:
447        * Makefile.am:
448        * art_misc.h:
449        * art_svp_wind.h: First commit of new intersector code. It is
450          turned off by default, but can be enabled by #defining
451          ART_USE_NEW_INTERSECTOR in art_misc.h.
452
453        * art_svp_ops.c: Make svp ops use new intersector if enabled.
454
455        * art_svp_vpath_stroke.c: Make vpath stroking use new intersector
456        if enabled.
457       
458        * testart.c: New test case for intersector.
459
460Wed Sep 26 03:48:13 2001  George Lebl <jirka@5z.com>
461
462        * Release 2.3.6
463
464Wed Sep 26 03:11:40 2001  George Lebl <jirka@5z.com>
465
466        * gen_art_config.c: Fix 64bit issues, cast sizeof return when
467          using %d to print it.
468
4692001-09-13  Havoc Pennington  <hp@redhat.com>
470
471        * Makefile.am: rename library to libart_lgpl_2
472
473        * libart-2.0.pc.in (Cflags): move includes
474
475        * libart-config.in: move includes
476
477        * Makefile.am: delete libartConf.sh, rename libart-config
478        (EXTRA_DIST): don't install m4 files
479        (libart_lgplincdir): move headers
480
4812001-08-03  Michael Meeks  <michael@ximian.com>
482
483        * Version 2.3.5 for the API freeze.
484
4852001-07-12  Darin Adler  <darin@bentspoon.com>
486
487        * art_affine.c: (art_affine_expansion): Fix handling of
488        negative numbers. We ran into this bug a while back when
489        figuring out why librsvg couldn't handle certain svg files.
490
4912001-07-12  Darin Adler  <darin@bentspoon.com>
492
493        * art_misc.h: Change art_expand macro so it's a single
494        statement, using the do while (0) trick, which gets rid
495        of some warnings.
496        * art_pixbuf.c: Add a missing include.
497        * art_vpath_svp.c: (art_vpath_from_svp): Initialize a
498        variable to avoid a compiler warning.
499        * gen_art_config.c: Add a missing include.
500
5012001-03-24  Martin Baulig  <baulig@suse.de>
502
503        Applied the patch from Alexander Larsson which was sitting
504        in gnome-libs/patches/libart.diff since February.
505        [FIXME: Alex, can you please provide a ChangeLog?])
506
507        * art_rgb_a_affine.[ch]: New files.
508
5092001-01-07  Hans Breuer <Hans@Breuer.Org>
510        * art_misc.c : embryonic change to use libart_lgpl on win32
511        * libart.def : new file, exported functions for win32 dll
512        * makefile.msc : handwritten for MSVC compiler
513
5142000-09-30  Martin Baulig  <baulig@suse.de>
515
516        * libart-2.0.pc.in: Provide pkg-config script.
517
518        * configure.in: Create libart-2.0.pc from libart-2.0.pc.in.
519        * Makefile.am (pkgconfig_DATA): Install the libart-2.0.pc
520        script in `$(libdir)/pkgconfig'.
521
5222000-08-15  Raph Levien  <raph@acm.org>
523
524        * art_render.c (art_render_image_solid_negotiate): Only
525        sets ART_IMAGE_SOURCE_CAN_COMPOSITE when a compositing
526        callback is selected. Previously was causing segfaults on
527        non-alpha images. Thanks to Leonard Rosenthol for spotting
528        the bug.
529
530Fri Jun 30 22:56:58 2000  Raph Levien  <raph@acm.org>
531
532        * art_render.c (art_render_composite): Fixed a bug that caused
533        it to ignore the alpha setting. Also art_render_composite_8().
534
5352000-06-01  John Sullivan  <sullivan@eazel.com>
536
537        * art_svp_render_aa.c: (art_svp_render_aa_iter_step):
538        Made it build by correcting struct member name from
539        Raph's previous checkin.
540
541Wed May 31 11:10:58 2000  Raph Levien  <raph@acm.org>
542
543        * art_svp_render_aa.c (art_svp_render_aa_iter_step): Updated
544        n_steps_max in iter structure after steps reallocation.
545
546Tue May 30 10:33:13 2000  Raph Levien  <raph@acm.org>
547
548        * art_svp_render_aa.c (art_svp_render_aa_iter_step): Fixed not
549        updating iter->steps when steps gets reallocated.
550
5512000-05-30  Pavel Cisler <pavel@eazel.com>
552
553        * art_rgba.c:
554        Make it build -- fix a broken include.
555
556Tue May 30 00:09:21 2000  Raph Levien  <raph@acm.org>
557
558        * art_render_gradient.c (art_render_gradient_setpix): Fixed
559        an off-by-one loop error.
560
561Mon May 29 15:00:39 2000  Raph Levien  <raph@acm.org>
562
563        * Makefile.am: Moved relevant .h files into HEADERS stanza.
564
565Mon May 29 13:48:49 2000  Raph Levien  <raph@acm.org>
566
567        This is a fairly major commit, as it adds both the new, modular
568        rendering architecture and gradients. Quite a bit of the code
569        feels like "reference code" now, in that it is (hopefully)
570        correct, but not necessarily very fast. In addition, there remain
571        a few things not done, including the use of SVP's as non-driver
572        mask sources. AlphaGamma and filter level also remain
573        unimplemented. No compositing modes other than ART_NORMAL are
574        implemented. All in good time!
575       
576        * configure.in: added -Wmissing-prototypes flag. Bumped version
577        number to 2.3.0.
578
579        * art_render.h:
580        * art_render.c: Added new rendering architecture.
581
582        * art_render_svp.h:
583        * art_render_svp.c: Added renderers to use SVP's as mask
584        sources in new rendering architecture.
585
586        * art_render_gradient.h:
587        * art_render_gradient.c: Added linear and radial gradients
588        as image sources in new rendering architecture.
589
590        * art_rgba.h:
591        * art_rgba.c: Added functions for manipulating and compositing
592        RGBA pixels.
593
594        * art_svp_wind.c: Added static to trap_epsilon(), #ifdef'd out
595        traverse().
596
597        * art_uta_ops.c: Added #include "art_uta_ops.h".
598
599        * art_uta_rect.c: Added #include "art_uta_rect.h".
600
601        * art_uta_svp.h: fixed __ART_UTA_SVP_H__ name.
602
603        * art_misc.h: Added ART_GNUC_NORETURN attribute, added that
604        to the prototype for art_die(). Added "static" to function
605        declarations to avoid warnings when compiled with
606
607        * testart.c: Added gradient test.
608
609Thu May 25 23:30:39 2000  Raph Levien  <raph@acm.org>
610
611        * art_svp_render_aa.h:
612        * art_svp_render_aa.c: Added art_svp_render_aa_iter functions,
613        suitable for iterative rendering of an svp, one scan line at a
614        time.
615
616        * configure.in: Bumped version to 2.2.0.
617
618Tue May 16 15:03:35 2000  Raph Levien  <raph@acm.org>
619
620        * art_rgb_pixbuf_affine.c: Included corresponding .h file.
621
622        * art_rgb_pixbuf_affine.h: Put recursive #includes inside
623        LIBART_COMPILATION test.
624
625        * art_gray_svp.c:
626        * art_rgb_svp.c: Explicit casts for callback data. Also removed
627        "render the steps into tmpbuf" comment.
628
629        * gen_art_config.c:
630        * Makefile.am:
631        * configure.in: Added code to automatically generate an
632        art_config.h file, to be installed in libart's include dir. This
633        file defines ART_SIZEOF_{CHAR,SHORT,INT,LONG} and art_u{8,16,32}.
634
635        * art_misc.h: Moved definition of art_u8 and art_u32 into
636        art_config.h. Added GCC printf format attributes.
637
638        * art_svp_wind.c (traverse): Fixed UMR bug here. The function
639        isn't actually used, so it's just for cleanliness.
640
6412000-04-18  Lauris Kaplinski  <lauris@ariman.ee>
642
643        * art_affine.c (art_affine_to_string): Replaced snprinf with
644        art_ftoa to avoid localisation of generated numbers
645
6462000-04-18  ERDI Gergo  <cactus@cactus.rulez.org>
647
648        * art_rgb_pixbuf_affine.h: Included the ArtPixBuf declaration
649
650Fri Apr 14 16:33:55 2000  Raph Levien  <raph@acm.org>
651
652        * art_svp_wind.c (art_svp_uncross, art_svp_rewind_uncrossed):
653        Fixed uninitialized memory reads when inserting new segment into
654        active_segs.
655
656        * art_bpath.c (art_bpath_affine_transform): Made it avoid
657        potential uninitialized memory reads when not all the coordinates
658        are needed. Thanks to Morten Welinder for spotting both of these
659        problems.
660
6612000-04-05  Raph Levien  <raph@gimp.org>
662
663        * art_svp_wind.c: Make "colinear" warnings go to stderr instead
664        of stdout. Of course, when I finish the new intersector, these
665        will go away entirely.
666
6672000-04-04  Raph Levien  <raph@gimp.org>
668
669        * art_uta_vpath.c (art_uta_add_line): Fixed bug that was causing
670        segfaults on alphas. Thanks to msw for localizing it.
671
6722000-01-17  Raph Levien  <raph@gimp.org>
673
674        * art_svp_vpath_stroke.c (art_svp_vpath_stroke): Typo in api
675        header (thanks rak).
676
6772000-01-16  Timur Bakeyev  <timur@gnu.org>
678
679        * autoconf.sh: Instead of jumping between srdir and builddir just process
680        all the auto* staff in srcdir. In fact, just saying the same things in
681        other words.
682
6832000-01-10  Elliot Lee  <sopwith@redhat.com>
684
685        * Makefile.am, *.h: Add rather bad hacks to the header files to allow compilation
686
687        * Makefile.am: Distribute libart-config.in
688
6892000-01-09  Raph Levien  <raph@gimp.org>
690
691        art_rgb_pixbuf_affine.c, art_rgb_rgba_affine.c, art_rgb_svp.c,
692        art_svp.c, art_svp_ops.c, art_svp_point.c, art_svp_render_aa.c,
693        art_svp_vpath.c, art_svp_vpath_stroke.c, art_svp_wind.c,
694        art_uta.c, art_uta_ops.c, art_uta_rect.c, art_uta_svp.c,
695        art_uta_vpath.c, art_vpath.c, art_vpath_bpath.c, art_vpath_dash.c,
696        art_vpath_svp.c: Added API documentation.
697
698Fri Sep 24 17:53:21 1999  Raph Levien  <raph@acm.org>
699
700        * art_svp_render_aa.c (art_svp_render_insert_active): Avoid
701        reading undefined memory (thanks to Morten Welinder).
702
7031999-09-19  Raph Levien  <raph@gimp.org>
704
705        * art_pixbuf.c (art_pixbuf_duplicate): Added a duplicate function
706        at the request of Michael Meeks.
707
7081999-09-11  Raph Levien  <raph@gimp.org>
709
710        * art_affine.c (art_affine_to_string): Tightened the predicate for
711        matching rotate-only affines, which was too weak. Thanks to lewing
712        for spotting it!
713
7141999-09-01  Raph Levien  <raph@gimp.org>
715
716        * art_affine.c, art_alphagamma.c, art_bpath.c, art_gray_svp.c,
717        art_misc.c, art_pixbuf.c, art_rect.c, art_rect_svp.c,
718        art_rect_uta.c, art_rgb.c, art_rgb_affine.c,
719        art_rgb_bitmap_affine.c: Updates to api doc headers.
720
7211999-08-24  Raph Levien  <raph@gimp.org>
722
723        * art_affine.c, art_alphagamma.c, art_alphagamma.h, art_bpath.c,
724        art_bpath.h, art_gray_svp.c, art_misc.c, art_pixbuf.c,
725        art_pixbuf.h, art_point.h, art_rect.c, art_rect.h: Added api
726        documentation headers.
727
728        * testart.c: Added "dash" test, for testing the vpath_dash
729        functions.
730
731        * art_rgb_pixbuf_affine.h: Fixed the #ifdef for conditional
732        inclusion. Thanks to Kristian Hogsberg Kristensen for spotting
733        the bug.
734
7351999-08-24  Raph Levien  <raph@gimp.org>
736
737        * art_svp_render_aa.c (art_svp_render_aa): Added some tests to
738        avoid NaN for infinite slopes, which were causing problems on
739        Alphas. Closes bug #1966.
740
7411999-08-20  Federico Mena Quintero  <federico@redhat.com>
742
743        * configure.in: Fixed library's libtool version number.
744
7451999-08-03  Larry Ewing  <lewing@gimp.org>
746
747        * art_vpath_dash.c (art_vpath_dash): fix a bug/typo that was causing
748        certain paths to loop infinitely.
749
7501999-07-28  Raph Levien  <raph@gimp.org>
751
752        * art_vpath_dash.[ch]: Added a function to add a dash style
753        to vpaths. It is tested, but has a couple of rough edges (see
754        code for details).
755
756        * testart.c: added tests for the new vpath_dash functionality.
757
758        * Makefile.am: added art_vpath_dash.[ch] files.
759
7601999-07-26  Raph Levien  <raph@gimp.org>
761
762        * art_rgb.c (art_rgb_fill_run): fixed incorrect test for
763        big-endianness. Thanks to Michael Zucchi for spotting it.
764
765Fri Jul 16 23:42:59 1999  Tim Janik  <timj@gtk.org>
766
767        * art_affine.c (art_affine_flip): flip translation matrixes as well, by
768        inverting matrix[4] if (horz) and inverting matrix[5] if (vert).
769
770Fri Jul 16 23:03:26 1999  Tim Janik  <timj@gtk.org>
771
772        * art_pixbuf.[hc]: deprecated art_pixbuf_free_shallow(), people should
773        always free pixbufs with art_pixbuf_free() and use the _dnotify variants
774        for specific destruction behaviour.
775        added art_pixbuf_new_rgb_dnotify() and art_pixbuf_new_rgba_dnotify()
776        which allow for a destruction notification function. (this involved
777        adding two extra pointers to the ArtPixBuf structure, and removal of
778        the recently introduced int flags field).
779
780Mon Jul 12 01:13:23 1999  Tim Janik  <timj@gtk.org>
781
782        * art_affine.[hc]: added art_affine_equal(), which checks two
783        matrixes for equality within grid alignment.
784
785Fri Jul  9 17:50:19 1999  Tim Janik  <timj@gtk.org>
786
787        * art_affine.[hc]: added art_affine_flip() to flip a matrix horizontally
788        and/or vertically, or just copy it.
789        added art_affine_shear() to setup a shearing matrix.
790
791Tue Jul  6 19:03:39 1999  Tim Janik  <timj@gtk.org>
792
793        * art_pixbuf.h: added an int flags; member to the end of the
794        structure, it currently only holds information about whether the
795        pixels member should be freed. (raph: i think flags is more generic
796        than free_pixels, so we can reuse that field if further demands popup
797        in the future).
798
799        * art_pixbuf.c:
800        (art_pixbuf_new_const_rgba):
801        (art_pixbuf_new_const_rgb): new functions that prevent the pixels
802        member from being freed upon art_pixbuf_free ().
803        (art_pixbuf_free): only free the pixels member if it is non-NULL and
804        the PIXBUF_FLAG_DESTROY_PIXELS is set.
805
8061999-07-02  Raph Levien  <raph@gimp.org>
807
808        * art_vpath_bpath.c (art_vpath_render_bez): Bad bad uninitialized
809        variables.
810
811        * configure.in: added compile warnings. Guess why :)
812
8131999-06-28  Raph Levien  <raph@gimp.org>
814
815        * art_svp_point.h:
816        * art_svp_point.c: Added methods for insideness and distance
817        testing, very useful for ::point methods in canvas items.
818
819        * testart.c: test code to exercise the art_svp_point functions.
820
821        * Makefile.am: Additional entries for art_svp_point.
822
8231999-06-28  Raph Levien  <raph@gimp.org>
824
825        * art_svp_render_aa.c (art_svp_render_aa): Subtle boundary
826        case in realloc code -- was causing nasty segfaults.
827
828Wed Jun 23 15:05:43 1999  Raph Levien  <raph@gimp.org>
829
830        * art_rgb_svp.c (art_rgb_svp_alpha_opaque_callback): Missed a
831        case in the anti-segfault crusade. Thanks lewing!
832
833Wed Jun 23 11:16:42 1999  Raph Levien  <raph@gimp.org>
834
835        * art_rgb_svp.c: Made these routines so they won't segfault even
836        if alpha is out of range. Of course, that begs the question of
837        fixing the render routines so they won't _make_ alpha go out of
838        range, but all in good time.
839
840Fri Jun 18 17:32:34 1999  Raph Levien  <raph@acm.org>
841
842        * art_vpath_bpath.c (art_bez_path_to_vec): Switched to a new
843        adaptive subdivision algorithm, which (finally!) takes flatness
844        into account. This should result in both smoother curves and
845        faster operation.
846
847Sun Jun 13 21:07:20 1999  Raph Levien  <raph@gimp.org>
848
849        * art_svp_wind.c (art_svp_rewind_uncrossed): Made the winding
850        rule logic even more correct :). I somehow missed the fact that
851        a clockwise path should be given a winding number of zero;
852        last night's commit tried to make it -1 (which worked for the
853        test cases I was using).
854
855Sun Jun 13 01:23:14 1999  Raph Levien  <raph@gimp.org>
856
857        * art_svp_wind.c (art_svp_rewind_uncrossed): Change to winding
858        rule logic so that it correctly handles the case where the
859        leftmost segment is negative.
860
861        * Makefile.am (libart_lgplinc_HEADERS): made art_svp_wind.h
862        a public headerfile. This is needed for the bpath canvas item.
863        I'm not sure this is the correct way to do it, but it will do
864        for now.
865
866        * art_vpath_bpath.h:
867        * art_vpath_bpath.c (art_bez_path_to_vec): Added const to arg.
868
869        * art_vpath_bpath.h: Embarrassing typo.
870
871        * art_bpath.h: Minor tweaks to the #include paths. It is now
872        consistent with the other header files.
873
874Wed Jun  9 20:24:45 1999  Raph Levien  <raph@gimp.org>
875
876        * art_svp_vpath_stroke.c: Added all remaining line join and cap
877        types, including round, which takes flatness into account. Several
878        new internal functions (art_svp_vpath_stroke_arc) and added
879        flatness argument to a few internal functions. I might want to
880        change the BEVEL join type to MITER for very small turn angles
881        (i.e. within a flatness threshold) for efficiency.
882
883        * art_misc.h: Added M_SQRT2 constant.
884
885Wed Jun  2 21:56:30 1999  Raph Levien  <raph@gimp.org>
886
887        * art_svp_vpath_stroke.c (art_svp_vpath_stroke_raw): Made the
888        closed path detection capable of PostScript semantics (i.e. it
889        now senses the difference between ART_MOVETO and ART_MOVETO_OPEN).
890
891        * art_svp_vpath_stroke.c (art_svp_vpath_stroke_raw): it now
892        filters out successive points that are (nearly) coincident. This
893        fixes some of the crashes and hangs, including Tim Janik's
894        singularity (trying to stroke MOVETO 50, 50; LINETO 50, 50; END).
895
896        * art_svp_wind.c (art_svp_rewind_uncrossed): added a test to
897        correctly handle empty input svp's.
898
899        * art_svp_wind.c (art_svp_uncross): added a test to correctly
900        handle empty input svp's.
901
902Sun Jan 17 20:53:40 1999  Jeff Garzik  <jgarzik@pobox.com>
903
904        * art_affine.c:
905        Include string.h for memcpy.
906
907        * art_svp_vpath.c:
908        Remove conflicting static func definition.
909
910        * art_uta_svp.c:
911        Include art_vpath_svp.h for func definition.
912
913Mon Jan  4 12:47:47 1999  Raph Levien  <raph@acm.org>
914
915        * art_bpath.c (art_bpath_affine_transform): Stupid misnaming
916        of this function (forgot the "art_").
917
918Thu Dec 31 09:04:23 1998  Raph Levien  <raph@gimp.org>
919
920        * art_affine.c (art_affine_rectilinear): Added this function.
921
922        * art_rect.c (art_drect_affine_transform): Corrected the name (it
923        was right in the .h). Also made it work with non-rectilinear
924        transforms, while I was at it.
925
926Thu Dec 17 11:58:24 1998  Raph Levien  <raph@acm.org>
927
928        * art_alphagamma.h:
929        * art_alphagamma.c: The real code for alphagamma.
930
931Wed Dec 16 14:18:46 1998  Raph Levien  <raph@gimp.org>
932
933        * art_alphagamma.h:
934        * art_alphagamma.c: Added. At present, it only contains a dummy
935        stub. When the real code is added, it supports doing alpha
936        compositing in a gamma-corrected color space (suppressing
937        jaggies).
938
939        * art_pixbuf.h:
940        * art_pixbuf.c: Added. This is a virtualization layer over
941        a few different kinds of image formats.
942
943        * art_rgb_pixbuf_affine.h:
944        * art_rgb_pixbuf_affine.c: Added. Supports compositing of
945        generic images over an rgb buffer.
946
947        * art_affine.h:
948        * art_affine.c (art_affine_expansion): Added this function,
949        which reports the exact scale factor in the case of rotation,
950        scaling, and transformation (an approximate number in the
951        case of shearing or anamorphic distortion).
952
953        * art_misc.h:
954        * art_misc.c (art_warn): Added.
955
956        * art_rgb_affine.h:
957        * art_rgb_affine.c: Added alphagamma argument (not yet implemented).
958
959        * art_rgb_affine_private.c: Fixed typo bug that was causing
960        repaint problems for nonsquare images.
961
962        * art_rgb_bitmap_affine.h:
963        * art_rgb_bitmap_affine.c: Major speed improvement, probably fixed
964        correctness while I was at it. Added alphagamma argument (not yet
965        implemented).
966
967        * art_rgb_svp.h:
968        * art_rgb_svp.c: Added alphagamma argument (only implemented
969        in aa case, not yet alpha case).
970
971        * art_vpath.c: increased perturbation to 2e-3, because the old
972        value (1e-6) was too small.
973
974        * testart.c: added alphagamma.
975       
976        * Makefile.am: added new files
977
978Sun Dec 27 21:45:03 1998  Raph Levien  <raph@gimp.org>
979
980        * art_rect.h:
981        * art_rect.c: Added DRect versions of the basic ops (double
982        rather than int).
983
984        * art_rect_svp.h:
985        * art_rect_svp.c: Added. This computes the bounding box of
986        an svp.
987
988Wed Dec 16 14:18:46 1998  Raph Levien  <raph@gimp.org>
989
990        * art_alphagamma.h:
991        * art_alphagamma.c: Added. At present, it only contains a dummy
992        stub. When the real code is added, it supports doing alpha
993        compositing in a gamma-corrected color space (suppressing
994        jaggies).
995
996        * art_pixbuf.h:
997        * art_pixbuf.c: Added. This is a virtualization layer over
998        a few different kinds of image formats.
999
1000        * art_rgb_pixbuf_affine.h:
1001        * art_rgb_pixbuf_affine.c: Added. Supports compositing of
1002        generic images over an rgb buffer.
1003
1004        * art_affine.h:
1005        * art_affine.c (art_affine_expansion): Added this function,
1006        which reports the exact scale factor in the case of rotation,
1007        scaling, and transformation (an approximate number in the
1008        case of shearing or anamorphic distortion).
1009
1010        * art_misc.h:
1011        * art_misc.c (art_warn): Added.
1012
1013        * art_rgb_affine.h:
1014        * art_rgb_affine.c: Added alphagamma argument (not yet implemented).
1015
1016        * art_rgb_affine_private.c: Fixed typo bug that was causing
1017        repaint problems for nonsquare images.
1018
1019        * art_rgb_bitmap_affine.h:
1020        * art_rgb_bitmap_affine.c: Major speed improvement, probably fixed
1021        correctness while I was at it. Added alphagamma argument (not yet
1022        implemented).
1023
1024        * art_rgb_svp.h:
1025        * art_rgb_svp.c: Added alphagamma argument (only implemented
1026        in aa case, not yet alpha case).
1027
1028        * art_vpath.c: increased perturbation to 2e-3, because the old
1029        value (1e-6) was too small.
1030
1031        * testart.c: added alphagamma.
1032       
1033        * Makefile.am: added new files
1034
1035Mon Dec 14 00:16:53 1998  Raph Levien  <raph@gimp.org>
1036
1037        * art_affine.c (art_affine_to_string): re-added the "scale" method
1038        that was accidentally deleted before check-in.
1039
1040        * Makefile.am: added new files
1041
1042Sun Dec 13 00:52:39 1998  Raph Levien  <raph@gimp.org>
1043
1044        * art_affine.h:
1045        * art_affine.c: Added. Everything you ever wanted to do with an
1046        affine transform. Especially check the functions that generate
1047        concise PostScript strings for affine transforms.       
1048
1049        * art_filterlevel.h: A simple enum for selecting filtering
1050        style.
1051
1052        * art_rgb_affine.h:
1053        * art_rgb_affine.c (art_rgb_affine): Added. This function
1054        composites an (opaque) rgb image over an rgb pixel buffer. At
1055        present, it's slow and only nearest neighbor filtering is enabled.
1056
1057        * art_rgb_rgba_affine.h:
1058        * art_rgb_rgba_affine.c: Analogous, but for compositing rgba
1059        images.
1060
1061        * art_rgb_bitmap_affine.h:
1062        * art_rgb_bitmap_affine.c: Analogous, but for compositing bitmap
1063        images.
1064
1065        * art_rgb_affine_private.c (art_rgb_affine_run): Added. This is
1066        a common function used by all the rgb_affine modules to move
1067        testing for source image bbox out of the inner loop.
1068
1069        * Makefile.am: added the new files
1070
1071        * testart.c: exercise the image compositors
1072
1073Wed Dec  9 23:36:35 1998  Raph Levien  <raph@gimp.org>
1074
1075        * art_vpath.c (art_vpath_perturb): Made it deal correctly
1076        with closed paths (the MOVETO and closing LINETO have to
1077        agree).
1078
1079        * art_svp_wind.c: Made the bbox calculations for the resulting
1080        svp's correct.
1081
1082        * art_svp.h:
1083        * art_svp.c: The art_svp_seg_compare function moved here, because
1084        it's required in art_svp_ops.
1085
1086        * art_svp.c (art_svp_add_segment): It now does bbox calculations.
1087
1088        * art_svp_ops.h:
1089        * art_svp_ops.c: Added. Populated with basic union, intersection,
1090        and diff functions.
1091
1092        * art_vpath_svp.h:
1093        * art_vpath_svp.c: Added. Populated with a function to convert
1094        from sorted to unsorted vector paths
1095
1096        * Makefile.am: added the new files
1097
1098        * testart.c: exercise the stroke outline and vector path
1099        operations.
1100
11011998-12-08  Herbert Valerio Riedel  <hvr@hvrlab.ml.org>
1102
1103        * art_svp_wind.c: added #include <string.h> for memcpy()
1104
1105Sun Dec  6 22:15:12 1998  Raph Levien  <raph@gimp.org>
1106
1107        * art_svp_wind.[ch], art_svp_vpath_stroke.[ch]: Added, but it
1108        doesn't work yet. These will do stroke outline and basic
1109        vector ops like union, intersect, etc.
1110
1111        * art_svp_render_aa.c: Added a simple speedup based on bbox
1112        culling. I will want to do more speedups, but none of this is
1113        necessary for the freeze.
1114
1115        * art_svp_vpath.c: Fixed some bugs in the art_svp_from_vpath in
1116        cases where there is more than one subpath.
1117
1118        * art_vpath.h:
1119        * art_vpath.c (art_vpath_perturb): Added this function.  This will
1120        help cheat as long as the basic vector ops have numerical
1121        stability problems.
1122
1123Fri Dec  4 18:00:38 1998  Raph Levien  <raph@gimp.org>
1124
1125        * art_svp_render_aa.c (art_svp_render_aa): Changed the api
1126        slightly, to guarantee that the steps are all within the range
1127        from x0 (inclusive) to x1 (exclusive).
1128
1129        * art_gray_svp.c, art_gray_svp.h: Added. Populated with functions
1130        to render into a simple graymap.
1131
1132        * art_rgb.c, art_rgb.c: Added. Populated with fill_run and
1133        run_alpha methods.
1134
1135        * art_rgb_svp.c, art_rgb_svp.h: Added. Populated with functions to
1136        render into an RGB buffer, and to composite over an RGB buffer.
1137
1138        * Makefile.am: added art_gray_svp, art_rgb, and art_rgb_svp.
1139
1140        * testart.c: test the color and layered rendering.
1141
1142Mon Nov 30 01:30:25 1998  Raph Levien  <raph@gimp.org>
1143
1144        * testart.c: added vector path rendering stuff. Some of it needs
1145        to go out of the test framework and into the module, but the
1146        api hasn't settled down entirely yet (in the real code, all
1147        x's in the step field are within bounds).
1148
1149        * art_svp_render_aa.c, art_svp_render_aa.c.h: added.
1150
1151        * art_svp_vpath.c, art_svp_vpath.h: added.
1152
1153        * art_pathcode.h: added ART_MOVETO_OPEN (libart uses an
1154        ART_MOVETO_OPEN code at the beginning to indicate an open path,
1155        while PostScript uses the lack of a closepath at the end).
1156
1157        * art_vpath_bpath.c, art_vpath_bpath.h: fixed it up, added
1158        flatness arg to api.
1159
1160        * Makefile.am: added new source files.
1161
1162Wed Nov 25 17:19:44 1998  Raph Levien  <raph@gimp.org>
1163
1164        * art_svp.h, art_svp.c: added, basic constructors for sorted
1165        vector paths.
1166
1167Sun Nov 22 23:21:09 1998  Raph Levien  <raph@gimp.org>
1168
1169        * Makefile.am (libart_lgplincdir): Fixed stupid bug in naming of
1170        the variable.
1171
1172Sun Nov 22 21:41:13 1998  Raph Levien  <raph@gimp.org>
1173
1174        * art_uta_vpath.c: moved art_uta_union into art_uta_ops.
1175
1176        * art_uta_ops.[ch]: added, populated with art_uta_union.
1177
1178Thu Nov 19 00:19:40 1998  Raph Levien  <raph@gimp.org>
1179
1180        * libartConf.sh.in: added
1181
1182        * Makefile.am: added creation of libartConf.sh, added -version-info
1183        * configure.in: added LIBART_VERSION_INFO, support for libartConf.sh
1184       
1185        * libart.m4: updated version history :)
1186
1187Wed Nov 18 18:15:20 1998  Raph Levien  <raph@gimp.org>
1188
1189        * configure.in (LIBART_VERSION): set this, so that libart-config
1190        --version now works.
1191
1192Wed Nov 18 16:50:58 1998  Raph Levien  <raph@gimp.org>
1193
1194        * libart.m4: added (just copied from esound)
1195        * configure.in, Makefile.am: added support for libart-config
1196        * libart-config.in: added (mostly copied from esound)
1197
1198Tue Nov 10 12:43:30 1998  Raph Levien  <raph@acm.org>
1199
1200        * Getting the library in shape for initial checkin to CVS.
1201
1202
Note: See TracBrowser for help on using the repository browser.