## Re-doing Morphic - damage calculation logic

Hannes Hirzel hannes.hirzel.squeaklist at bluewin.ch
Mon Feb 10 13:23:55 UTC 2003

```Hi all

A partial answer to Andreas' ramblings that we are all kiddies who don't
understand some
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
enhancements.

Actually Daniel Jones mentioned specific areas which need fixing from
his point
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.
There
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
point
- 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
for improvement.

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
Mozilla did.

Hannes Hirzel

```