[cairo] Ellipse stroke

Richard Copley rcopley at gmail.com
Fri Dec 1 18:50:46 UTC 2017


I wrote:
>> you also have to take account of the joins
>> between segments. I think.

... but of course, the same is true for a sequence of curve_to calls.

Ray Gardener wrote:
> if one explicitly issued the corresponding curveto calls,
> the misrender should still occur, no?

I suppose so, and according to Eric's testing, yes. That suggests two
approaches.
1: Build a different list of curve_to segments, during the cairo_arc call.
2: Stroke bezier curves differently.

Maybe it also suggests that option 2 (if it's possible) would be
better. Is that roughly where you're heading with your line of
questioning?

Eric wrote:
> For a wide arc or ring I would tend to draw the outline and then fill. A
> wide line elliptical arc does have some strange ends though when flattened.

I think this is cairo_stroke's job description! Ideally, the user
shouldn't have to do the math(s) for themselves to get the right
result.

The stroke will have strange line endings when drawn correctly (more
or less strange depending on your chosen definitions).

The bug I'm reporting is that Cairo draws the line endings quite
inaccurately for fairly flat ellipses, and draws the whole arc very
badly for very flat ellipses.

Thanks to both of you for looking at this.


More information about the cairo mailing list