Paint tools and image creation

Richard Gaskin 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
 >> http://quality.livecode.com/show_bug.cgi?id=623
 >
 > 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
 > straight-forward!

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 
interior.

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.

-- 
  Richard Gaskin
  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 mailing list