Re-doing Morphic - damage calculation logic
hannes.hirzel.squeaklist at bluewin.ch
Mon Feb 10 13:23:55 UTC 2003
A partial answer to Andreas' ramblings that we are all kiddies who don't
simple 1500 methods while kids are using the result with ease.
Of course having a heading like 're-doing' sounds a bit extreme but -
Andreas - don't take that too
seriously. The Squeak community will be happy if this discussion leeds
to some additional
Actually Daniel Jones mentioned specific areas which need fixing from
of view. For his first point I include a test case below.
1) Fixing/improving the damage calculation logic.
2) Sane defaults for clipping/extents behaviour... ( Shrink some morphs,
and watch the bizzare behaviour )
3) Fixing Halo/Handmorph
4) Combining all the variant widget morphs into one consistent set.
are several versions of common basic widgets, all specialized cases
that could be handled by a well designed and general widget. Plus,
radio button, checkboxes, and other basic widgets are missing. The base
squeak image needs a full set of working widgets.
I'd like to provide a graphical test case which illustrates the first
- damage calculation logic -
Tested with Squeak 3.5alpha-5168
a) open an new morphic project
b) open a workspace
c) paste the following code and execute it
1 to: 25 do: [:x |
1 to: 25 do: [ :y |
r _ Morph new openInWorld.
r height: 20.
r width: 20.
r position: (x * 20) @ (y * 20).
r color: Color random]
d) Shift-select all the squars with the red button.
e) Bring up the halo on the blue outlined selection morph
f) Click on the delete halo of the selection morph
to delete all squares.
g) Watch the damage detection logic at work
Result: The damage logic does not work properly.
I think that Morphic is a great achievment; it has great new ideas and
for a research project it has a good implementation. But there is room
As a contrast: I took the above 625 colored squares and generated an
html files with 625 divison tag pairs (with a colored background and
pixel-positioned absolutely with CSS) and looked at them with IE5.5
Windows and Mozilla 1.0): IE5.5 didn't show all the squares while
More information about the Squeak-dev