all repos — openbox @ b99508df011eaf8a264bf5725ac8849f0782ec7b

openbox fork - make it a bit more like ryudo

bitmap masks return!
Dana Jansens danakj@orodu.net
commit

b99508df011eaf8a264bf5725ac8849f0782ec7b

parent

e64d90be4d5b86a497ed8f03c6ba40512765e239

2 files changed, 13 insertions(+), 13 deletions(-)

jump to
M otk/renderstyle.ccotk/renderstyle.cc

@@ -57,8 +57,8 @@ RenderTexture::Bevel1,

true, RenderTexture::Vertical, false, - 0x858687, - 0x373a3f, + 0x96ba86, + 0x5a724c, 0x181f24, 0x0); _label_unfocus = new RenderTexture(_screen,

@@ -174,7 +174,7 @@ _max_mask = new PixmapMask();

_max_mask->w = _max_mask->h = 8; { char data[] = { 0x7e, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0x7e }; - _max_mask->mask= + _max_mask->mask = XCreateBitmapFromData(**display, display->screenInfo(_screen)->rootWindow(), data, 8, 8);

@@ -183,18 +183,18 @@

_icon_mask = new PixmapMask(); _icon_mask->w = _icon_mask->h = 8; { - char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 }; - _icon_mask->mask= + unsigned char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 }; + _icon_mask->mask = XCreateBitmapFromData(**display, display->screenInfo(_screen)->rootWindow(), - data, 8, 8); + (char*)data, 8, 8); } _stick_mask = new PixmapMask(); _stick_mask->w = _stick_mask->h = 8; { char data[] = { 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00 }; - _icon_mask->mask= + _stick_mask->mask = XCreateBitmapFromData(**display, display->screenInfo(_screen)->rootWindow(), data, 8, 8);

@@ -204,7 +204,7 @@ _close_mask = new PixmapMask();

_close_mask->w = _close_mask->h = 8; { char data[] = { 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 }; - _icon_mask->mask= + _close_mask->mask = XCreateBitmapFromData(**display, display->screenInfo(_screen)->rootWindow(), data, 8, 8);
M src/buttonwidget.ccsrc/buttonwidget.cc

@@ -113,6 +113,7 @@ default:

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();

@@ -121,14 +122,13 @@ otk::RenderColor *color = (_focused ? _style->buttonFocusColor() :

_style->buttonUnfocusColor()); // set the clip region + int x = (width - pm->w) / 2, y = (width - pm->h) / 2; XSetClipMask(**otk::display, color->gc(), pm->mask); - XSetClipOrigin(**otk::display, color->gc(), - (width - pm->w)/2, (width - pm->h)/2); + XSetClipOrigin(**otk::display, color->gc(), x, y); // fill in the clipped region - XFillRectangle(**otk::display, _window, color->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, color->gc(), None);