[cairo] towards 24.8
Vladimir Vukicevic
vladimir at pobox.com
Fri Jun 15 15:58:01 PDT 2007
There are a number of bugs related to the 16.16 fixed coordinate space
that many cairo calculations happen in being too small. I'd like to do
the work to change this to 24.8, and to make it possible to do more
easily change that (including optionally allowing cairo to work in
doubles or floats, at a performance cost). There are two large chunks
of this work, and I'd like to tackle them separately. Here's the
proposed plan..
1. Get cairo using 24.8 instead of 16.16.
a. Replace all fixed point ops with macros (where appropriate)
b. Change all uses of the fixed fractional bits into using a
#define'd constant
c. Catch all hardcoded fixed-point ops and replace with
macros/functions (multiplication in particular is done "by hand" in a
number of places)
d. Fix touch points with other fixed-point libraries (xlib, xcb, and
pixman) to do the correct format translation
2. Get pixman using 24.8 instead of 16.16.
a. This depends on getting to a pixman that's maintainable; so I
think that this depends on the pixman work that ssp is doing
b. Turn this into a compile time option in pixman
I'm going to focus on #1 first, since #2 is a bit nebulous. I think
that leaving pixman at 16.16 for the time being is a decent compromise,
because backends that don't rely on 16.16 fixed will have a bigger
coordinate space to play with right away.
Comments?
- Vlad
More information about the cairo
mailing list