Oberon Object Tiler |link| – Trusted

By forbidding overlapping windows, the system avoids the "Save Under" problem, where the OS must cache what was behind a window. This makes the graphics subsystem incredibly fast and lightweight.

Tilers encourage users to keep only what is necessary on the screen, leading to a more focused and productive workflow. Implementation in Oberon-2 and Beyond oberon object tiler

: When a new GUI object (e.g., a window) is created, it is registered with the Object Tiler. By forbidding overlapping windows, the system avoids the

[1] Wirth, N., & Gutknecht, J. (1992). Project Oberon – The Design of an Operating System and Compiler . Addison‑Wesley. Implementation in Oberon-2 and Beyond : When a

TYPE Tile* = POINTER TO TileDesc; TileDesc = RECORD (Objects.ObjectDesc) frame: Rectangle; (* screen coordinates *) layoutHint: INTEGER; (* preferred size, aspect *) obj: Objects.Object; (* the contained Oberon object *) draw*, handle*: PROCEDURE (t: Tile); END;

: As users interact with GUI objects, the Object Tiler receives and processes events, adjusting the layout as necessary.

Here is a proper review of the topic.