Shadow and Highlight Factors

Many decorations are supposed to look "three-dimensional". To implement this, the decorations use three colors: the specified decoration color, a brighter "highlight" color, and a darker "shadow" color. For "raised" decorations, the top and left edges are drawn in the highlight color, and the bottom and right edges are drawn in the shadow color; this is reversed for "sunken" decorations. The highlight and shadow colors are computed from the decoration color using the highlight and shadow factors. The highlight factor should be a floating-point number greater than 1. If the highlight factor is 1, then the highlight color is the same as the decoration color; the larger the highlight factor, the brighter the highlight color. The shadow factor should be a floating-point number between 0 and 1. If the shadow factor is 1, then the shadow color is the same as the decoration color; the smaller the shadow factor, the darker the shadow color. (It is actually possible to give a highlight factor which is less than 1 (which makes the highlight color darker than the decoration color) and a shadow factor which is greater than 1 (which makes the shadow color brighter than the decoration color); the effect is to reverse "raised" and "sunken" elements throughout the user interface.)