- c.color.red = 0;
- c.color.green = 0;
- c.color.blue = 0;
- c.color.alpha = _tint | _tint << 8; // transparent shadow
- c.pixel = BlackPixel(_display, _screen->getScreenNumber());
-
+ if (_tint >= 0) {
+ c.color.red = 0;
+ c.color.green = 0;
+ c.color.blue = 0;
+ c.color.alpha = 0xffff * _tint/100; // transparent shadow
+ c.pixel = BlackPixel(_display, _screen->getScreenNumber());
+ } else {
+ c.color.red = 0xffff * -_tint/100;
+ c.color.green = 0xffff * -_tint/100;
+ c.color.blue = 0xffff * -_tint/100;
+ c.color.alpha = 0xffff * -_tint/100;
+ c.pixel = WhitePixel(_display, _screen->getScreenNumber());
+ }