The coming of SVG

Mark Waddingham mark at
Sun Nov 5 07:19:01 EST 2017

On 2017-11-05 00:59, Niggemann, Bernd via use-livecode wrote:
> I like "Canvas" from LCB but unfortunately that is already taken. It
> would have been my favorite.

Hmmm - actually, why not 'canvas'?

Certainly there is a Canvas type in LiveCode Builder, but the 'canvas' 
idea hasn't been used in LiveCode Script. I'd be wary if the two notions 
- i.e. the Canvas type in LCB and the 'SomethingLikePicture' object in 
LCS - were unrelated, but they aren't.

After all it is the Canvas type in LCB which provides the actual ability 
to render the commands which come out of processing an SVG file - the 
mapping from resulting attributed element (e.g. rect with paint and 
stroke attributes) is almost a 1-1 mapping from notion to canvas command 
and the plan is to make this completely 1-1.

So, we can view the LCB Canvas Type as being a 'rasterization-only' 
target for SVG commands, whereas the LCS canvas object essentially 
records the commands and plays them back on demand.

In fact, 'canvas' perhaps describes what the proposed object will 
actually be - it will allow you (from LCS) to describe a sequence of 2d 
vector graphics operations, which are then rendered on demand - 
essentially a deferred version of the LCB Canvas Type (essentially the 
'canvas' script object would be a high-level wrapper around the LCB 
canvas type).

Certainly the idea of being able to specify an image, or vector 
graphics, or a single graphic type to be drawn on a 'canvas' perhaps 
makes more sense than on a 'picture' (or other image-like synonyms).

Warmest Regards,


Mark Waddingham ~ mark at ~
LiveCode: Everyone can create apps

More information about the use-livecode mailing list