Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Morph
Last updated at 5:59 pm UTC on 11 November 2018
Class Morph is subclass of Object. It is the foundation of the Morphic direct-manipulation User Interface(UI) which is a Squeak specific alternative to the original Model View Controller graphics toolkit of Smalltalk-80.

Morph subclasses size 49
Morph allSubclasses size 392 (in 3.3a-4769)
Morph allSubclasses size 357 (in Squeak5.1-16548)

Morph is the base class of everything that can be displayed in a World and of what you can interact via the HandMorph. Examples of Morphs are rectangles, windows, balloons etc. This is an intuitive notion, and the pragmatics have several angles.


If we look at the instance variables, Morphs have bounds and can contain other morphs as submorphs. The morph's own bounds merged with the submorphs' bounds is called fullBounds.

As each morph can be a submorph of another morph, it has an owner.

Every morph is directly or indirectly owned by the World. The only exceptions are morphs picked up by the hand. Their owner is a hand which is not part of the world.

Finally, each morph has a color (actually not the best idea) and other attributes which are modelled by the Morph helper class.

see also Method for making Morphs, How to apply some code to all submorphs of a Morph

Morphic class comment