in my case I'm only using a single SVG file which is processed only once to
define the scene.
Also at times, more sub renders from the same SVG file could be performed
during the lifetime of the UI.
No performance issues but I can't say that my tests were sophisticated.

What exactly is the problem with librsvg which uses cairo itself? Can it be
fixed?



On Thu, May 12, 2011 at 12:44 PM, Jan Jokela <[email protected]> wrote:

> Building a GUI with SVG files is a bad idea unless we are talking about
> something really minimalistic.
>
> The main issue here is that librsvg is really slow rendering them. Take a
> look at Cairo for the heavylifting.
>
>
> On Thu, May 12, 2011 at 9:27 AM, Veli Ogla Sungutay <
> [email protected]> wrote:
>
>> 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
>>
>>
>


-- 
Veli Sungutay
http://www.lyciasoft.com
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to