Re: anti-aliasing gdk



>  I think you can't really add libart on the GDK level because (at least
>  the way the canvas is written) it looks like you need to keep your
>  vector paths around; the GDK API would require regenerating the vector
>  paths each time, which would kill your performance. i.e. you need to
>  rewrite the widgets to use libart to draw, and you need the
>  canvas-style drawing model with an "update" concept.

You don't need to keep your SVPs around.  You can create your vpaths
on the fly, convert them to SVPs, render them, and discard them.  You
can't really say that it will be a performance problem until you have
measured it.  And if you are extra-careful, you can even create the
SVPs by hand.

Usually your vector paths will be simple, with segments aligned to the
coordinate axes.  How often do you draw diagonal lines to paint your
widgets?

Antialiasing will not be very useful for widgets themselves except for
fancy-schmancy themes with rounded corners; the really important thing
is antialiased text.

(This is completely orthogonal to the canvas; the canvas is just an
engine that provides a) a consistent, delayed update/redraw model, 
b) structured graphics, c) two imaging models).

  Federico



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]