[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