Toplevel viewport can't exceed the Pixman limit for surface size even if the actual destination surface is smaller
I'm already using librsvg in Loupe to create tiles. And it's actually much faster than rendering the complete image at the same resolution.
However, the approach I'm using seems to have its limitations. If I do the following:
let surface = cairo::ImageSurface::create(
cairo::Format::ARgb32,
100,
100,
)?;
let context = cairo::Context::new(surface.clone())?;
renderer
.render_document(
&context,
&cairo::Rectangle::new(
-32_700.,
-32_700.,
32_800,
32_800,
),
)
I'm creating a 100x100px tile (pretty small) but it will fail because 32_800 > 32_767
.
Am I doing it wrong? Is this limitation real, even if the surface is 100x100px? Any help would be much appreciated.