A type for colors, specified by red, green and blue values in the range
A width and height paired together.
Events produced by the user-interface.
An event listener processes events as they "flow" through the widget hierarchy.
Types of events that could occur
The main (abstract) type of graphics contexts.
A record of functions that allows us to read and write the string associated with a label.
A notifier_controller is associated with a notifier widget.
A widget-relative position
A controller for a value associated with a widget.
A widget is an object that provides three services: it can repaint itself (given an appropriate graphics context), it can handle events, it knows its dimensions (relative to a graphics context)