[cairo] Antialiasing and round, bevelled widgets (was: Cairo developers conference call...)

Keith Packard keithp at keithp.com
Tue Oct 19 10:16:53 PDT 2004


Around 12 o'clock on Oct 19, Jon Smirl wrote:

> Only way to fix this is in the app. It is just something that is
> exposed when apps assuming pixel level rendering are now exposed to
> subpixel rendering. That makes sense, the apps have always had the
> problem, there was just no way to see it before.

Where "the app" is anything above the primitive rendering API which draws 
precisely what it was told to draw.

Given a rendering API which does exactly what it was told to, it is easy 
to build a "smarter" API on top which adjusts stroke widths and positions 
to "fix" the appearance of the drawing.  What I don't want is for the 
primitive drawing API to be making these kinds of adjustments itself; 
Adjusting locations requires scene level information which isn't available 
at the cairo API.

And you're right that applications have always had problems with the pixel
grid; in core X, snapping line end points to pixel centers resulted in a 
very inaccurate presentation of geometry.  Look at the classic 'xclock' 
application at small sizes; the tic marks do not appear to lie on the 
clock radius.

Sub-pixel coordinates "fix" those cases, but push problems about pixel 
alignment up to the application which is supposed to "not care" about it.
At 300dpi, 'not care' works fine, but at 100dpi, we care deeply about 
every pixel.

-keith


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20041019/91306d6a/attachment.pgp


More information about the cairo mailing list