Vector images?

Mark Waddingham mark at livecode.com
Tue Oct 20 12:04:34 EDT 2015


On 2015-10-09 18:57, Richmond wrote:
> Why do I have a feeling that the ability to import vector images as
> vector graphics
> was meant to be one of the goals of the kickstarter?

Well that very much depends on what you mean by 'vector images' ;)

The exact Kickstarter stretch goal was this:

   Vector Shape Object

   Like the graphic object on steroids. Sub-pixel positioning,
   shape determined by intrinsic properties (i.e. width of rectangle,
   radius of circle etc.). 'Group' type, containing a collection of
   shapes to be nested - and imported/exported in a (subset of) SVG.

There is still some more work needed on the widget's architecture to 
make this a reality (mainly related to ensuring that the rect of the 
widget is determined by its internal geometry, rather than the other way 
round which makes BIG difference if you want to do effective and 
tile-able affine transformations and avoid animation 'jitter' from 
issues surrounding aligning to an integer grid).

However, after spending some time at a weekend recently playing with a 
small subset-SVG-parsing library I found, I've come up with this: 
https://github.com/livecode/livecode/pull/3089.

This widget enables rendering of simple SVG files consisting of shapes, 
paths, transforms, stroke properties, color fills, linear and radial 
gradients. This is nowhere near the whole of SVG, certainly, but is a 
useful enough subset for icons and such I'd have thought.

I'm currently working out how we can hook such widgets into the 'icon' 
mechanism in the engine - meaning that such a widget could be used as 
the source of icons in buttons and imgSrcs in fields. Also, it would be 
good if there could be some sharing of the parsed SVG data structures if 
multiple SVG widgets reference the same file (a bit like referenced 
image objects share in-memory representations to minimize memory cost).

It isn't quite ready for inclusion in a build so it will unlikely be in 
DP8 (due this week), I'm hoping it will be ready shortly after that 
though.

Just thought people might be interested in this (little) development :)

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