Martin Vermeer wrote: > No particular reason. Make them symbolic if you like (actually it > would be great if you could set the *contained text* (not the button > text and not thr background!) to gray.
All that is stopping this happening is the brain-dead fact that we don't compute the shadow colours on the bevelled button but rather require them to be specified. All it would need to fix this is to move RGBColor, HSVColor out of xforms/Color.[Ch] and into (say) support. Both the internal store and interface to LColor would change: struct ColorEntry { LColor::color lcolor; + RGBColor rgb; char const * guiname; char const * latexname; - char const * x11name; char const * lyxname; }; class LColor { public: - string const getX11Name(LColor::color c) const; + RGBColor const getRGBColor(LColor::color c) const; }; Thereafter, we could compute the shadow colours on the fly: RGBColor button_bg = lcolor.getRGBColor(LColor::note); RGBColor light_border = AdjustColorValue(button_bg, 0.1); RGBColor dark_border = AdjustColorValue(button_bg, -0.5); Use in ButtonInset::draw (insets/renderers.C) to draw the button. RGBColor AdjustColorValue(RGBColor const & rgb, double addVal) { HSVColor hsv(rgb); hsv.v += addVal; hsv.v = min(1.0, max(0.0, hsv.v)); return RGBColor(hsv); } -- Angus