[cairo] Problem with scaling on win32

Chris Wilson chris at chris-wilson.co.uk
Sat Jul 4 03:51:05 PDT 2009


On Fri, 2009-07-03 at 02:44 +0200, J.A. Magallón wrote:
> In short: use GooCanvas to add an ImageModel, zoom on it, and in Linux
> I can zoom till infinte without problems, I set GooCanvas scale to
> 1024 and my pixels are there. In windows, as zoom gets bigger
> that 32/64, I get just a big white window, no image is drawn.
> 
> Any clues ?

Cairo only uses 24.8 fixed point numbers internally (to give an
effective device space of around 8 million pixels) so I'd be surprised
(and impressed by GooCanvas!) if you can indeed keep scaling
indefinitely. Any way, the question I want to check was, are you using
the same cairo version on win32 and linux? I ask because more recent
versions of cairo tweak the pattern transformation matrices to
work-around precision loss in using pixman (which only uses 16.16 fixed
point). This may account for the difference between your two systems.
[For reference that bug is captured in cairo/test/scale-offset-image.c]

What would be useful is some cairo-trace results (available in cairo's
git repository and 1.9.2 snapshot). (As well as feedback and patches to
make performing such investigations easier!)
-ickle





More information about the cairo mailing list