[cairo] Cairo on Symbian OS. Help!

Gerdus van Zyl gerdusvanzyl at gmail.com
Mon Jan 5 00:41:39 PST 2009


The API I use for double buffering is the following sequence
push_group_with_content, [draw on ctx], pop_group_to_source, paint
which creates a temporary surface of the right type(create_similar)
behind the scenes

Generally surfaces are long lived while contexts are short lived. GTK
is a bad example since it brings another level of indirection since
widgets receive an offscreen surface and the real cairo surface type
is hidden by GDK, etc.

How to implement animation is really dependant on the type of
animation and the program structure. Eg. Multiple surfaces, parametric
drawing function, etc. Cairo just provides a nice way to draw and blit
things.

I am not sure if you should build the double buffering into your
symbian backend since AFAIK it's not how it works with the other
backends (win32).

~G

On Mon, Jan 5, 2009 at 9:15 AM, iwanj <i_junianto at yahoo.co.uk> wrote:
> (My previous email ended up as a single line due
> to missing CR/LF)
>
> Hi all,
>
> I've just started playing with Cairo on Symbian OS
> (http://code.google.com/p/cairo-for-symbian) and currently
> working on implementing Symbian OS surface backend to allow
> Cairo rendering to a window.
>
> From looking at cairo-tutorial-gtk.h it seems that Cairo
> surface is created and destroyed everytime the window is
> being redraw/exposed. Is it how Cairo is intended to be
> used? What is the common practice when we want to use Cairo
> to render some animated contents?
>
> I'm planning to use double buffering for my window
> surface implementation, but couldn't find any suitable
> Cairo API to do the actual swap buffer. Can we rely on
> application to call cairo_surface_flush instead?
>
> Cheers,
> iwanj
>
>
>
>
>
>
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo
>


More information about the cairo mailing list