case Type_LeftGrip:
case Type_RightGrip:
if (_focused)
- setTexture(_style->getGripFocus());
+ setTexture(_style->gripFocusBackground());
else
- setTexture(_style->getGripUnfocus());
+ setTexture(_style->gripUnfocusBackground());
break;
case Type_StickyButton:
case Type_CloseButton:
case Type_IconifyButton:
if (_pressed) {
if (_focused)
- setTexture(_style->getButtonPressedFocus());
+ setTexture(_style->buttonPressFocusBackground());
else
- setTexture(_style->getButtonPressedUnfocus());
+ setTexture(_style->buttonPressUnfocusBackground());
} else {
if (_focused)
- setTexture(_style->getButtonFocus());
+ setTexture(_style->buttonUnpressFocusBackground());
else
- setTexture(_style->getButtonUnfocus());
+ setTexture(_style->buttonUnpressUnfocusBackground());
}
break;
default:
}
-void ButtonWidget::setStyle(otk::Style *style)
+void ButtonWidget::setStyle(otk::RenderStyle *style)
{
otk::Widget::setStyle(style);
setTextures();
switch (type()) {
case Type_LeftGrip:
case Type_RightGrip:
- setBorderColor(_style->getBorderColor());
+ setBorderColor(_style->frameBorderColor());
break;
case Type_StickyButton:
case Type_CloseButton:
void ButtonWidget::update()
+{
+ printf("ButtonWidget::update()\n");
+ otk::Widget::update();
+}
+
+void ButtonWidget::renderForeground()
{
otk::PixmapMask *pm;
int width;
bool draw = _dirty;
- otk::Widget::update();
+ printf("ButtonWidget::renderForeground()\n");
+ otk::Widget::renderForeground();
if (draw) {
switch (type()) {
case Type_StickyButton:
- pm = _style->getStickyButtonMask();
+ pm = _style->stickyMask();
break;
case Type_CloseButton:
- pm = _style->getCloseButtonMask();
+ pm = _style->closeMask();
break;
case Type_MaximizeButton:
- pm = _style->getMaximizeButtonMask();
+ pm = _style->maximizeMask();
break;
case Type_IconifyButton:
- pm = _style->getIconifyButtonMask();
+ pm = _style->iconifyMask();
break;
case Type_LeftGrip:
case Type_RightGrip:
assert(false); // there's no other button widgets!
}
+ assert(pm->mask);
if (pm->mask == None) return; // no mask for the button, leave it empty
width = _rect.width();
-
- otk::Pen pen(_focused ? *_style->getButtonPicFocus() :
- *_style->getButtonPicUnfocus());
+
+ otk::RenderColor *color = (_focused ? _style->buttonFocusColor() :
+ _style->buttonUnfocusColor());
// set the clip region
- XSetClipMask(otk::Display::display, pen.gc(), pm->mask);
- XSetClipOrigin(otk::Display::display, pen.gc(),
- (width - pm->w)/2, (width - pm->h)/2);
+ int x = (width - pm->w) / 2, y = (width - pm->h) / 2;
+ XSetClipMask(**otk::display, color->gc(), pm->mask);
+ XSetClipOrigin(**otk::display, color->gc(), x, y);
// fill in the clipped region
- XFillRectangle(otk::Display::display, _window, pen.gc(),
- (width - pm->w)/2, (width - pm->h)/2,
- (width + pm->w)/2, (width + pm->h)/2);
+ XFillRectangle(**otk::display, _surface->pixmap(), color->gc(), x, y,
+ x + pm->w, y + pm->h);
// unset the clip region
- XSetClipMask(otk::Display::display, pen.gc(), None);
- XSetClipOrigin(otk::Display::display, pen.gc(), 0, 0);
+ XSetClipMask(**otk::display, color->gc(), None);
+ XSetClipOrigin(**otk::display, color->gc(), 0, 0);
}
}