]> Dogcows Code - chaz/openbox/commitdiff
bitmap masks return!
authorDana Jansens <danakj@orodu.net>
Thu, 23 Jan 2003 02:08:04 +0000 (02:08 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 23 Jan 2003 02:08:04 +0000 (02:08 +0000)
otk/renderstyle.cc
src/buttonwidget.cc

index 7e8b6446539b5eb5351e172a6dc3bac3cd08773b..9123b367854f544920017cd7702da5fe90ab8292 100644 (file)
@@ -57,8 +57,8 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
                                    true,
                                    RenderTexture::Vertical,
                                    false,
-                                   0x858687,
-                                   0x373a3f,
+                                   0x96ba86,
+                                   0x5a724c,
                                    0x181f24,
                                    0x0);
   _label_unfocus = new RenderTexture(_screen,
@@ -174,7 +174,7 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _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 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _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 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _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);
index 53a7ffd501a025e1d3a7e3921d7fa16a4d7a4fc7..534bdc8409f84b35c8aabb091baedcaaa87c09ff 100644 (file)
@@ -113,6 +113,7 @@ void ButtonWidget::renderForeground()
       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 @@ void ButtonWidget::renderForeground()
                                _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);
This page took 0.027066 seconds and 4 git commands to generate.