ONE::gui::laf::chameleon Namespace Reference
Detailed Description
contains the Chameleon Look and Feel
The Chameleon (C7n) LaF is a skinnable, image map based, scalable LookAndFeel implementation.
Themes
LaF themes are loaded from XML files when the install function is called. The theme file contains delegate definitions that override the implementation's default settings. Note that there is no default delegate definition, so a valid delegate must be specified for each type used with the LaF. The exact make-up of a theme file is described in the theme.dtd file used to validate schemes.
Delegates
Each delegate uses a single texture to draw the delegating component. Also, each class holds one or several sets of UV coordinate rectangles that define which part of the texture is used.
Most delegates hold one such rectangle, which defines the texture area that is used to draw a component's background. The background texture is scaled to the delegating object's size.
Border delegates hold eight rectangles, one for each corner and edge. The textured areas are scaled according to the border's fringe.
Delegates that draw a border around an object (ScrollBarSliderDelegate and FrameTitleBarDelegate) hold nine UV rectangles, one for the background (which is scaled to the appropriate size) and eight used in a fashion similar to border delegates. However, the edges are displayed in the corner's natural texel size. The ButtonDelegate holds twice as many rectangles, one set for the idle and one for the pressed state.
Design Considerations
For clarity and visually pleasing results, component backgrounds should be kept simple. A plain single-colored background or a simple muted color gradient will yield the best results. Note that the texture color will be multiplied by the component's background (and, where applicable, foreground) color. Gray scale patterns combined with appropriate component colors (which may be defined by the LaF theme) will lead to most flexible looks.
Typedef Documentation
Generated on Wed Sep 7 19:03:22 2005 for ONEngine by
1.4.3