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

Bill Spitzak spitzak at d2.com
Tue Oct 19 09:57:14 PDT 2004

On Tuesday 19 October 2004 09:43 am, Jon Smirl wrote:
> On Tue, 19 Oct 2004 12:11:54 -0400, Carl Worth <cworth at cworth.org> wrote:
> > Not unless I'm misunderstanding you. The 0.5 positioning just comes from
> > the simple fact that the stroked path extends on both sides of the
> > path. Therefore, to light up a single row of pixels, a path of width 1.0
> > must be centered within those pixels[*]. But any particular pixel can be
> > lit up in this fashion.
> Given this logic, should the entire drawing grid be offset 0.5 pixels
> with a global transform? Then a normal user wouldn't see this. Fonts
> would need to be backed up 0.5 since they assume 0.0 is the top of the
> pixel.

No, this is a very common mistake that was done to many graphics API's and 
completely killed them.

This will completly screw up fill operations, making it fill one more pixel 
than desired and making things you think are touching actually overlap. It 
also messes up image operations and causes unexpected scaling.

More information about the cairo mailing list