[cairo] Write ups on Microsoft Avalon
Bill Spitzak
spitzak at d2.com
Thu May 13 09:26:14 PDT 2004
On Thursday 13 May 2004 06:29 am, Carl Worth wrote:
> > - setting for dash cap
>
> What do you mean by this one?
I would think he means a different end cap for each piece of the dash pattern
than for the end of the entire stroke. Most useful is to make the dashes
square while still making rounded ends of the lines. There is a question of
what to do if the line-end cap and the dash-cap would overlap, probably they
would have to intersect.
It seems it would be possible to specify arbitrary line end caps without
expanding cairo too much. The idea would be that you draw an open path using
Cairo and then do a call to indicate that this path (scaled and rotated so
0,0 is at the end of the line) is the current end cap. So the only additional
call is the "set this path as line cap" call. However the implementation may
be way too complex to consider.
> But my guess would be that "turn off anti-aliasing" is probably intended
> to mean "I'm willing to sacrifice rendering quality in exchange for
> speed"
He may also be asking for the ability to erase a previous graphic 100%. It
may be useful to provide a compositing operator which is basically "replace
alpha with alpha!=0". This would produce a "fat" graphic that probably should
not be shown to the user, but it can erase a previous antialiased graphic if
you draw the image you know is the background. I agree that Cairo should not
provide any way to "turn off antialiasing". But this operator is useful and
an emulation library could simulate no-antialiasing well enough by using this.
--
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo
mailing list