## 2.2 The Architecture

Figure 2.2 shows a sketch of the architecture of the window interface in Mozart. Its core part is the graphics engine. The graphics engine computes graphical output and displays it according to the input received.

Figure 2.2: Architecture sketch.

Initializing widgets with the method `tkInit` and applying widgets to the `tk` method send messages to the graphics engine. Additionally, the procedure `Tk.send` we used for geometry management sends messages to the graphics engine. The graphics engine understands tickles, `Tk.send` in fact just takes a tickle and sends it to the engine. Also `tkInit` and `tk` methods map straightforwardly to tickle messages.

The graphics engine is sequential, each tickle is executed in order. User events are considered only when the graphics engine is idle, then the attached actions are executed.