On 2017-11-10 18:50, David Bovill via use-livecode wrote:
I don't think this would help (below). What is nice is to be able to use professional illustration tools, and then add hypertext links to one of the
objects in the svg with built in tools - for instance using Graphic, or
OmniGraphl). That way you can create complex beautiful (and scaleable)
interface elements working with artists. Later you can also use javascript
to dynamically alter the links by referencing the node in SVG - again
working with externally created SVG. I don't see how to do these things if
it is not possible to support events / links as per the TinySVG spec?

   - https://www.w3.org/TR/SVGTiny12/linking.html
   - https://www.w3.org/wiki/SVG_Links

Elements of interactivity and animation have been on my mind with regards SVG - indeed, we can get very far with the pre-compilation approach that we are currently taking. For interaction to work it will be necessary to annotate the SVG file to explain which elements you want to receive event notifications for, and which SVG attributes/properties you want to be able to manipulate at runtime. For animation, it requires grokking and processing the SMIL elements/attributes which the full SVG Tiny spec defines.

I must confess I hadn't yet worked out how those annotations might be applied from an illustration tool - but you've just given me that missing piece :)

Kinda obvious now, but we can use hyperlinks on the SVG elements, which such tools do allow you to set - so no post-processing of the SVG by a human would be required.

So, I have an idea/plan on how to do this - so it is a case of when and not if.

The only bit this would not allow would be the ability to add/move/remove elements from the tree, or set attributes/properties which are structural (e.g. gradients can inherit from other gradients in SVG 1.1). However, that is not necessarily too much of a blocker here - as you can have all the elements you need present in the tree at the point of creation, and just control their display by the visibility attribute.

To get full interactivity like you get in browsers would require implementing a dynamic SVG canvas - which sounds like an interesting and useful path for the previously mentioned 'canvas' control idea...

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to