Help the wiki!

Morphic

This page has links to websites or programs not trusted by Scratch or hosted by Wikipedia. Remember to stay safe while using the Internet, as we can't guarantee the safety of other websites.

This article or section documents a feature not included in the current version of Scratch (2.0). It is only useful from a historical perspective.

Morphic is a graphics system which uses graphical objects called Morphs for simplified GUI-building. It was originally developed by Randy Smith and John Maloney (a Scratch Team member and Squeak developer) for the programming language Self, but later rewritten in Squeak.

Contents

Morphic Inheritance

Morphic systems have an inheritance system: a morph can inherit from another, improving on the parent. Morphic inheritance begins at the root class Morph. Each Morph is a subclass of Morph either directly or indirectly. For example, the hypothetical ResizeHandleMorph is a subclass of DraggableObjectMorph which is a subclass of Morph.

Inheritance is used to either improve upon a morph or specialize it for some purpose. The base Morphs should have lots of simple functionality which is then used by higher-level Morphs, which reduces code redundancy.

Morphic.js

Morphic.js is a Morphic environment written entirely in JavaScript using only the HTML5 Canvas APIs. It was created by Jens Mönig for BYOB 4.0 (a.k.a Snap!), but has found other uses on the website, such as the HTML Viewer, now JsScratch. Morphic.js was inspired by the Squeak Morphic system.