[cairo] Best strategy for complex screen drawing

Bill Spitzak spitzak at d2.com
Mon Nov 28 16:06:19 PST 2005



mental at rydia.net wrote:
> Quoting Bill Spitzak <spitzak at d2.com>:
> 
> 
>>Because of the difficulty in figuring out how to use SATURATE and
>>set up a second buffer, and the fact that it cannot be used in
>>many cases, I am afraid that most programs will give up and turn
>>off antialiasing.  This means that cairo output is not going to
>>look very good.
> 
> 
>>I really feel that the solution is to add "aliased_lineto" to the
>>path-construction operators. This acts exactly like lineto except
>>if the path is filled (or used in a filled way, such as a
>>clipping path) then no antialiasing is done to that straight
>>edge.
> 
> 
> At the risk of repeating the conversation that we've all already
> had, why not also aliased_curveto, then?

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 curveto. And was 
trying to keep the number of additional calls down.

However there is also a need for aliased_closepath which I forgot. And 
it is possible that the Illustrator output that also demonstrated this 
problem uses curveto.

If more than one call needs an aliased version, it may be a good idea to 
instead have a call to turns the current flag on/off, rather than 
duplicating everything. This could be the normal antialising control, 
with the odd effect that the current antialised state is remembered as 
the path is constructed for fill.



More information about the cairo mailing list