Hi guys, I've been experimenting with building SVG GUIs for a while now. Some tips you may find useful:
1. Inkscape can be called from command line with -S switch to give us id,x,y,width,height information for each element. These could be used to initialize ClutterCairoTexture actors. 2. We rely on librsvg's rsvg_handle_render_cairo_sub. You may also use cairo itself to reposition each actor: ClutterActor* actor = clutter_cairo_texture_new(svgElement->width,svgElement->height); cairoHandle = clutter_cairo_texture_create(CLUTTER_CAIRO_TEXTURE(actor)); cairo_translate(cairoHandle, -svgElement->x, -svgElement->y); rsvg_handle_render_cairo_sub(svgHandle, cairoHandle, "#elemID"); cairo_destroy(cairoHandle); clutter_actor_set_position(actor,svgElement->x - xParent,svgElement->y - yParent) //Only opaque areas will react to mouse events. Useful for non rectangular shapes. clutter_texture_set_pick_with_alpha(CLUTTER_TEXTURE(actor), TRUE); You can let me know how it goes. I'm hoping to share my entire code some time in the summer. On Wed, May 11, 2011 at 1:10 PM, Damien Lespiau <[email protected]>wrote: > On Wed, 2011-05-11 at 06:00 +0100, Alexandre Quessy wrote: > > Hello, > > I would like to build a GUI with SVG files in Clutter. > > > > To do so, should I use dax? > > http://git.clutter-project.org/dax/tree/ > > Oh, no, not a good idea. Dax is an unfinished science project that goes > boom when people try to use it. > > > If so, is it packaged for Debian? > > Dax is highly unfinished, does not even compile because it relies on > Clutter branches that I never ended pushing to master (because of them > being unfinished too). Thus, not ready yet to get in Debian :p > > > Otherwise, does mx provide this? > > The best way (best as in, working) to do this right now is to use > librsvg + ClutterCairoTexture. That does mean that a few things are not > ideal when thinking "SVG as Scalable graphics" (ie when you scale a SVG > subtree you may want to re-render it and upload it again to the GPU (but > when animating maybe not?) > > Interesting stuff to look at: > > * Lasem. another SVG (amd MathML) renderer > http://git.gnome.org/browse/lasem > It's been a while since I have looked at it, > * http://jyro.blogspot.com/2008/09/inkface-svg-based-gui-design.html > > HTH, > > -- > Damien > > --------------------------------------------------------------------- > Intel Corporation (UK) Limited > Registered No. 1134945 (England) > Registered Office: Pipers Way, Swindon SN3 1RJ > VAT No: 860 2173 47 > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies. > _______________________________________________ > clutter-app-devel-list mailing list > [email protected] > http://lists.clutter-project.org/listinfo/clutter-app-devel-list > -- Veli Sungutay http://www.lyciasoft.com
_______________________________________________ clutter-app-devel-list mailing list [email protected] http://lists.clutter-project.org/listinfo/clutter-app-devel-list
