[cairo] Pixman coordinates

Krzysztof Kosiński tweenk.pl at gmail.com
Wed Jun 30 14:12:10 PDT 2010


Pixel coordinates in Pixman are in 16.16 fixed point format. This is
causing some problems with my Cairo version of Inkscape: large
drawings at close zoom levels that contain paths that are larger than
32767 pixels in any dimension at the given zoom level are rendered
incorrectly. It's enough to create an A4 drawing that contains paths
that stretch the whole height of the page and view it at 64x zoom to
trigger the overflow. A secondary problem is that it's not possible to
create image surfaces larger than 32767px in any dimension.

I heard there were plans to switch Pixman to 24.8 coordinate format.
This would increase the limit to 8388608 pixels. This should be more
than enough for any high resolution renderings, and would partially
solve the zoom issue: since our zoom is arbitrarily limited to 256x at
the moment, we would need a drawing that is 32768px wide or high to
get overflows. That's not overly generous but probably acceptable, and
we can increase this limit by preprocessing the path in Inkscape.

What is the status of the coordinate switch? Would it be complicated
to do for someone new to Pixman?

Regards, Krzysztof

More information about the cairo mailing list