[cairo] Virtual surface

Mike Emmel mike.emmel at gmail.com
Tue Aug 11 08:48:44 PDT 2009


The problem is the cairo api clip scale etc are expected to be changed
by the drawing code.
There is no easy way to add and additional global clip and scale and
potentially other features maybe for example a global transparency
except to provide a surface that has these capabilities.

This virtual surface provides the framework to wrap and existing
surface to override or change or even replace the surface
functionality with different modified operations.

A custom scale and clip are two that we use now.

The only way to achieve this with the current api would be to use and
additional offscreen surface image for example and then blit the
results back. By using this virtual surface you eliminate this
indirection and blit for animation this is important.




On Mon, Aug 10, 2009 at 9:38 AM, Behdad
Esfahbod<behdad.esfahbod at gmail.com> wrote:
> I have the same question as Joonas: what's a single-line statement of the
> purpose of this virtual surface?
>
> behdad
>
> On 08/09/2009 11:49 AM, M Joonas Pihlaja wrote:
>>
>> Hi Mike,
>>
>> On Sat, 8 Aug 2009, Mike Emmel wrote:
>>
>>> Hi all I have a good start on a virtual surface backed by a real surface.
>>
>>> I've found it very useful for scaled widgets virtual screens and other
>>> cases where you wan't the hard clipping provided by a surface and
>>> other surface features but don't want a buffer or image surface. Such
>>> as when the backing surface is already buffered.
>>
>> I scanned through the code real quick and it looks like it's all about
>> proxying methods for another surface and also letting the user set the
>> size and scale of the new surface.  As far as I can tell, that's all
>> it does though.  Did I miss something else?  I'm a little confused as
>> to what purpose the virtual surface has and what exactly is "virtual"
>> about it.
>>
>> I'm also not sure what you mean by using this virtual surface for
>> clipping.  Isn't it cairo_clip()'s purpose in life to clip your
>> drawing for you?
>>
>> TIA,
>>
>> Joonas
>> _______________________________________________
>> cairo mailing list
>> cairo at cairographics.org
>> http://lists.cairographics.org/mailman/listinfo/cairo
>>
>


More information about the cairo mailing list