[cairo-commit] cairo ChangeLog,1.108,1.109 TODO,1.12,1.13
Carl Worth
commit at pdx.freedesktop.org
Mon Nov 17 07:04:18 PST 2003
- Previous message: [cairo-commit] python-cairo/examples cairo-demo.py,1.2,1.3 cairo-knockout.py,1.2,1.3 text.py,1.4,1.5
- Next message: [cairo-commit] cairo/src cairo.c,1.28,1.29 cairo_gstate.c,1.32,1.33 cairo_pen.c,1.12,1.13
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: cworth
Update of /cvs/cairo/cairo
In directory pdx:/tmp/cvs-serv23102
Modified Files:
ChangeLog TODO
Log Message:
* Remove infinite looping when stroking with a line width at or
close to 0.0. Thanks to Rob Buis <buis at kde.org> and Noah Levitt
<nlevitt at columbia.edu> for providing in-the-wild examples of SVG
files with stroke-width:0 that demonstrated the problem,
(cowboy.svg and albania.svg).
* src/cairo_pen.c (_cairo_pen_stroke_spline): Do nothing if the
pen is a degenerate, single point. This happens when the line
width is a very small, non-zero value.
* src/cairo_gstate.c (_cairo_gstate_stroke): Do nothing when asked
to stroke a path with a line_width of 0.0. Previously, this would
lead to an infinite loop.
* src/cairo.c (cairo_set_line_width): Force negative line width
to 0.0.
* TODO: Updated TODO list.
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/cairo/ChangeLog,v
retrieving revision 1.108
retrieving revision 1.109
diff -C2 -d -r1.108 -r1.109
*** ChangeLog 10 Nov 2003 16:16:34 -0000 1.108
--- ChangeLog 17 Nov 2003 15:04:15 -0000 1.109
***************
*** 1,2 ****
--- 1,23 ----
+ 2003-11-17 Carl Worth <cworth at isi.edu>
+
+ * Remove infinite looping when stroking with a line width at or
+ close to 0.0. Thanks to Rob Buis <buis at kde.org> and Noah Levitt
+ <nlevitt at columbia.edu> for providing in-the-wild examples of SVG
+ files with stroke-width:0 that demonstrated the problem,
+ (cowboy.svg and albania.svg).
+
+ * src/cairo_pen.c (_cairo_pen_stroke_spline): Do nothing if the
+ pen is a degenerate, single point. This happens when the line
+ width is a very small, non-zero value.
+
+ * src/cairo_gstate.c (_cairo_gstate_stroke): Do nothing when asked
+ to stroke a path with a line_width of 0.0. Previously, this would
+ lead to an infinite loop.
+
+ * src/cairo.c (cairo_set_line_width): Force negative line width
+ to 0.0.
+
+ * TODO: Updated TODO list.
+
2003-11-10 Carl Worth <cworth at east.isi.edu>
Index: TODO
===================================================================
RCS file: /cvs/cairo/cairo/TODO,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** TODO 10 Nov 2003 16:16:34 -0000 1.12
--- TODO 17 Nov 2003 15:04:16 -0000 1.13
***************
*** 1,11 ****
* Fix the intersection problem, (see reference to Hobby's paper
! mentioned in cairo_traps.c)
! * Implement support for programmatic patterns
* Implement cairo_text_extents, cairo_glyph_extents, cairo_text_path,
cairo_glyph_path, and cairo_stroke_path, cairo_arc_to.
! * Add a few new, needed functions?
cairo_flush
--- 1,19 ----
+ * Change stroke code to go through one giant polygon. This will fix
+ problems with stroking self-intersecting paths.
+
+ * Implement cairo_stroke_path, (very easy to do after the above change
+ is done).
+
* Fix the intersection problem, (see reference to Hobby's paper
! mentioned in cairo_traps.c).
! * Implement support for programmatic patterns.
* Implement cairo_text_extents, cairo_glyph_extents, cairo_text_path,
cairo_glyph_path, and cairo_stroke_path, cairo_arc_to.
! * Investigate what needs to be done so that old X servers aren't
! swamped with image transport. This may involve adding one or more of
! the following functions:
cairo_flush
***************
*** 13,21 ****
cairo_mark_dirty
- * Verification, profiling, optimization.
-
* Re-implement the trapezoid rasterization algorithm according to the
new "specification".
A comparison with PostScript
============================
--- 21,29 ----
cairo_mark_dirty
* Re-implement the trapezoid rasterization algorithm according to the
new "specification".
+ * Verification, profiling, optimization.
+
A comparison with PostScript
============================
- Previous message: [cairo-commit] python-cairo/examples cairo-demo.py,1.2,1.3 cairo-knockout.py,1.2,1.3 text.py,1.4,1.5
- Next message: [cairo-commit] cairo/src cairo.c,1.28,1.29 cairo_gstate.c,1.32,1.33 cairo_pen.c,1.12,1.13
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the cairo-commit
mailing list