Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
WorldState
Last updated at 10:53 pm UTC on 23 August 2017
What is the responsibility of WorldState?

The class WorldState has the responsibility to implement some or all of the world functions for a PasteUpMorph for which the message
 isWorldMorph 
returns true.
This message is implemented as
^ worldState notNil

Other PasteUpMorph instances do not have a WorldState instance.
For example BookMorphs use PasteUpMorphs as pages. The pages morphs do have nil for the worldstate variable.

A world knows its hands, bounds and a so called step list.
The step list keeps the morphs which need to be animated. To get into this list a morph has to register itself with the world.

Each morph is steppable. The world regularily calls the #step method.

The world is responsible for displaying morphs. Morphs never directly draw themselves. They post requests for redisplay which are collected by the world. These requests are optimized and then performed by calling the morphs' drawOn: methods.

The world knows how often this should happen at most. Between each redisplay, all events of all hands are processed.

Note:

A WorldState object responds to the messages

In the stepList the submorphs which need regularly the message send step are kept.

See also

When are the deferred UI messages processed?

How do I set the Morph stepping interval?_____

See also
Drawing
Morphic as a simulation framework.