[cairo] Best strategy for complex screen drawing
mental at rydia.net
Mon Nov 28 19:57:57 PST 2005
On Mon, 2005-11-28 at 16:06 -0800, Bill Spitzak wrote:
> I was thinking that only straight lines are used between joined
> shapes, either because polygonal modelling is being used as in this
> example, or because the curve cannot be accurately described with
There's no reason two abutting shapes can't use matched curves.
This could be the normal antialising control, with the odd effect that
the current antialised state is remembered as the path is constructed
Of course, that still doesn't solve things for abutting shapes which
aren't either automatically generated or hand-annotated with
Basically simulating partial coverage via the alpha channel is
inherently broken for non-trivial cases. Which is not an argument for
or against your proposed workaround, just a reminder that it's only
useful for a very narrow range of use cases (i.e. "manually" stitching
together adjacent shapes into bigger meta-shapes, but not e.g. distinct
shapes which should be seamlessly touching).
Antialiasing may be the wrong way to think of it. Perhaps, rather than
thinking of it as "aliased_lineto", it should be "abutting_lineto" or
similar? If it's not required that the de-seaming be accomplished via
turning off antialiasing, it opens up opportunities for backends to take
different approaches when they are available.
(For example, the SWF format has two-sided fills, so a hypothetical SWF
backend could use "abutting_lineto" annotations as a hint when it tries
to merge adjacent edges.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/cairo/attachments/20051128/a29418ea/attachment.pgp
More information about the cairo