[cairo] Quartz stroking

Vladimir Vukicevic vladimir at pobox.com
Tue Aug 18 10:07:54 PDT 2009


On 8/18/09 5:31 AM, Andrea Canciani wrote:
> Recently I did some work on the quartz backend. In particular I
> noticed it handles stroking with non-solid and non-pattern sources by
> clipping to the path constructed by
> CGContextReplacePathWithStrokedPath.
> Please review the attached test and examine the results in your environment.
> On my iBook the image backend produces the expected result (i.e.
> antialiased lines differ from unantialiased lines but solid-white
> lines are equals to image-white lines), whereas quartz outputs "wrong"
> or at least strange images: the width of the lines depends on what the
> source is.

Odd; can you attach the actual images?  It sounds like something is 
wrong with the stroke width/matrix, not with using 
ReplacePathWithStrokedPath.

> I think that the quartz backend should be fixed by always using
> CGStrokePath (using an appropriate CGPattern) and I will prepare a
> patch to do this (or another fix, if somebody suggests a better
> solution) unless the current behaviour is expected (in this case it
> should probably be documented somewhere).

CGPatterns are quite slow, and require extra memory tracking work; they 
should really be avoided if possible.

     - Vlad


More information about the cairo mailing list