[cairo] cairo design
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
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
Size: 228 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20040423/ed3b278f/attachment.pgp
More information about the cairo