[cairo] cairo design

Keith Packard keithp at keithp.com
Fri Apr 23 13:46:15 PDT 2004

Around 13 o'clock on Apr 23, Jon Smirl wrote:

> Is Cairo completely resolution independent (except for bitmaps)? Can I
> scale by arbitrary floating point amounts or are things tied into X screen
> resolution?

The cairo API uses floating point coordinates and places no restrictions 
on their magnitude.

The default cairo transformation matrix sets the user coordinate space to 
approximately 100dpi.  For most displays, this ends up being an identity 
transformation, but higher resolution devices will end up using 
non-identity default transformations.

> You do efficiently implement something like a display list that draws a
> star and then the star is replicated 5,000 times with different transforms
> without generating a gigabyte of net traffic?

As you correctly surmise, doing this efficiently below the cairo API would 
require a cairo wire protocol and a full cairo server on the far side of 
the wire -- there's no other representation which could capture the 
correct results.  You can't just capture the tesselation and re-use that, 
you have to retesselate at each transformation to ensure that the 
pixelization of the result was accurate.

Doing a 'cairo server' hasn't ever occurred to me, but it shouldn't be 
impossible if someone finds that interesting.

> You using stored mode as a parallel to display lists as opposed to retained
> mode where I can edit the model, right?

No, I was using 'stored mode' in contrast with 'immediate mode'.  I didn't 
really consider the differences between editable and non-editable display 
lists in this context.


-------------- 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/20040423/ed3b278f/attachment.pgp

More information about the cairo mailing list