Paint tools and image creation
ambassador at fourthworld.com
Wed Aug 23 12:28:26 EDT 2017
Mark Waddingham wrote:
> On 2017-08-22 20:31, Richard Gaskin via use-livecode wrote:
>> Any opportunity here to generalize the solution to accommodate this?
>> tool property for groups/creating objects in groups interactively
> I think that is a slightly different case to this.
Indeed it is. Just brainstorming.
> I fear that these two parts of code are quite distinct, however, so
> it isn't a case of do one and get the other free... The image one is
> probably quite straight-forward (although, I could well be wrong);
> the group one (judging by the code I delved into y'day) not so
Unfortunate. I hadn't expected something more generalized could be
"free", but it seemed worth exploring.
In LiveCode (with the exception of the "sometimes rules" of images), the
tool is a global property. In SuperCard, the tool is a property of the
window (the equivalent in LC of a stack).
SC also had scrollbars as properties of a window, and combined with a
local tool mode it made creating custom drawing environments super-easy.
SC shipped with a example app called SampleDraw, which illustrated a
number of useful concepts like document management, anchor window
architecture (what LC folks often call "splash screen" pattern), and
other essentials for crafting good apps.
Even more fun was that it also showed off some nice tricks with
polygons, including a Transform option which took two selected polys and
created a user-determined number of polys in between in which each
successive one was slightly more like the end one. Illustrator had that
feature, as did SuperPaint (where the algo came from; the SP and SC
teams shared a lot of staff), and while it wasn't particularly useful
for many things it was hella fun.
SampleDraw wasn't quite SuperPaint, but it was far beyond both MacDraw
and MacPaint, a useful and fun app that provided an end-to-end example
of a common category of program done with simple, readable script.
Indeed, it was the thing that got me most excited about xTalks.
Ken Ray and I discussed making a SampleDraw app for LC off and on for a
while, and having scrolling groups in LC rather than being limited to
scrolling only the entire window seemed like it might offer some
satisfying opportunities to make a SampleDraw-like app even better, with
a View pane at the bottom of the window, and tools and other controls in
a toolbar across the top.
But it turns out to be a LOT more work in LC than in SC. LC does many
great things far beyond what I used to enjoy in SC, but making custom
drawing environments is one particular use-case where it's possible but
only with significantly more effort. Maybe just an unrealistic
expectation on my part; I suppose it would not be reasonable to expect
any single tool to be best at all things.
My hope here was that it may have been worth taking a fresh look at the
challenge of maybe allowing tools to be local rather than global, more
like SC's window-specific property but in a form more fitting for LC and
more flexible than LC by having the tool mode be local to a group's
I can understand the challenges here. Just thought I'd ask.
In fact, for the sake of tidiness I wouldn't mind if that old feature
request were retired if it can't be acted on.
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the Use-livecode