Shapes

Shape is the visual outline of a window and its internal relief. Relief is often used to establish a certain window type, enabling to guess what will happen once the window / control is invoked.

Buttons are widely rendered with a raised relief. This relief can be either a simple series of lines generating a pseudo-3D representation, an image generated by ray tracing, or a gradient.

Radiobuttons and checkbuttons, on the other hand, often »fade« into white-space; leaving the indicator alone to communicate their function. The indicator is an icon repeating the miniaturized normal button-like shape.

HighlightThickness is being used to highlight the control, to which keyboard events (focus) are sent.

Shapes have to be customizable. They provide a visual clue to what has to be expected, before an action is performed. This communication is utterly dependent on the user’s visual ability, or the lack thereof. In addition, hardware constraints also affect recognition.

To ensure a usable Graphical User Interface –even for users with visual handicaps– is the natural responsibility of the windowing system. A fine example, where this challenge was accepted, can be seen under AQUA®: »Universal Access«.

Most, windowing systems do leave developers –and users– to shoulder this on their own. Thus colour and shape have to be user adaptable. In Tk, the best –and most flexible– method, is to aggressively use the Option Database.

Jeszra gives a fine-grained control over storing properties. Through Jeszra: menu entries, toolbar entries and even certain geometry properties can be put inside the Option Database.