[cairo] Write ups on Microsoft Avalon

Bill Spitzak spitzak at d2.com
Mon May 17 16:02:50 PDT 2004

On Monday 17 May 2004 12:44 pm, Owen Taylor wrote:
> The default Cairo line-width is 2 to try and keep people from having to
> add that 0.5 pixel in most cases, but I'm pretty much skeptical about
> the whole idea of scaling a user interface by changing the
> transformation. You either add tons of fuzz or have a huge discrete
> jump when a unit switches from 1 pixels to 2 pixels.

In the example I was referring to in NeWS it did not do anti-aliasing, but 
instead filled all shapes to the nearest pixel. When scaling a lot of 
same-sized rectangles would then become different sizes, which was a problem, 
but at least if they touched they always touched and never overlapped or had 
a gap between them. In NeWS the line stroking algorithim also produced 
aligned lines at any scale as long as the scale was greater than one (when 
scaled down it always draw 1 pixel, which could go into adjacent areas). 
Considering this was 1989 I was pretty impressed with the ability to produce 
working GUI at any scale. This was all broken when they changed the default 
CTM to a .5 one, pretty much every single rectangle in tnt was drawn 1 unit 
smaller than it should be and the result did not scale at all.

You are right this is probably irrelevant to the antialiased Cairo except for 
integer scales.

                   ,~,~,~,~ ~ ~ ~ ~
     /\_       _|_========___         Bill Spitzak
 ~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com

More information about the cairo mailing list