[cairo] understanding RecordingSurfaces

Uli Schlachter psychon at znc.in
Sun Sep 8 06:22:45 PDT 2013


On 04.09.2013 19:57, Andreas Lobinger wrote:
> i'm trying to use a RecordingSurface for some intermediate rendering, so i
> draw a part of the drawing onto a surface and then paint it with
> set_source_surface and paint_with_alpha onto an ImageSurface. This
> intermediate is scaled before painted. So i get the pixel interpolation.
> Now i moved the intermediate to a RecordingSurface and have two problems.
> * If i do not set the size, so unbounded, i immediately get out-of-memory
> error.

How immediately is it? Does creation of the recording surface fail or is some
other operation failing?

> * Even if i set the size, in large scale factors, i see some pixels in
> painting.
> The documentation is not clear to me: Is the RecordingSurface, when used as
> source, first rendered to a bitmap and then painted?

Most likely, it is. However, I would guess that the transformation is applied
before drawing, so that there shouldn't be "any pixels" in the results.

> How would i achieve a scalable recorded vector drawing?

Via a recording surface, I guess...

Do you have a relatively simple, self-contained example program demonstrating
the problem you are seeing?

Sent from my Game Boy.

More information about the cairo mailing list