SGV and FE funding of widgets

Mark Waddingham mark at livecode.com
Fri Oct 30 07:31:31 EDT 2015


On 2015-10-30 10:35, Frans Schoffelen wrote:
> So how do we get started?

Well, on the SVG front things have already started:

https://github.com/livecode/livecode/pull/3089

This still needs a bit more work (we're hoping to have it ready for 
LiveCode 8 DP9) but currently does the following:

    - Adds the ability for the engine to render SVG as part of its 
libgraphics library (internal, low-level)
    - Wraps this facility with canvas syntax which widgets can use
    - Adds an SVGView widget which displays an svg file which has been 
set on it using an 'svgText' property

At the moment the SVG parser / renderer can cope with multiple 
transformed paths and shapes in solid colors with opacity (gradients are 
being irksome - there's something up with the transforms which I haven't 
gotten quite right yet).

We're also looking into allowing an image object to have its text set to 
SVG, or its filename set to reference an SVG file. If we can make this 
work then it means SVG will be usable (via the image object) as icons in 
buttons and imageSrc references in fields (as well as patterns!). 
Additionally, we'll investigate adding properties to the image object to 
indicate that the SVG should be pre-rendered as an image automatically. 
The reality is that compositing a pre-rendered image is a *lot* faster 
than rendering anything but exceptionally simple SVG - so providing a 
mode where pre-rendering occurs means that SVG used in images will have 
very similar performance characteristics to non-SVG images (after the 
initial rendering step). The goal here is that you can replace stacks of 
multi-resolution images with a single SVG file with hopefully only a 
small cost to pay on app startup.

Another thing we could potentially do is add a 'path' property to the 
graphic object which would take and return a (normalized) SVG path - I'm 
still poking around to see what it would take to do this. Obviously we 
will be replacing the graphic object with a new 'shape' object at some 
point, however it seems sensible to try and see if we can at least add 
the 'path' related facilities planned for it to the engine sooner.

Warmest Regards,

Mark.

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




More information about the use-livecode mailing list