]> Dogcows Code - chaz/openbox/blobdiff - openbox/framerender.c
fix rendering of the new top corner resize handles
[chaz/openbox] / openbox / framerender.c
index 464e1c6bb71f2440e2df6617f781710eb85ba26d..8795a9dbdd6112744abef8a51325239b12f73ba2 100644 (file)
@@ -146,44 +146,55 @@ void framerender_frame(ObFrame *self)
         ob_rr_theme->a_clear->surface.parentx = 0;
         ob_rr_theme->a_clear->surface.parenty = 0;
 
-        RrPaint(ob_rr_theme->a_clear, self->tlresize,
-                ob_rr_theme->grip_width, ob_rr_theme->handle_height);
+        if (ob_rr_theme->grip_width > 0)
+            RrPaint(ob_rr_theme->a_clear, self->tltresize,
+                    ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1);
+        if (ob_rr_theme->title_height > 0)
+            RrPaint(ob_rr_theme->a_clear, self->tllresize,
+                    ob_rr_theme->paddingx + 1, ob_rr_theme->title_height);
 
         ob_rr_theme->a_clear->surface.parentx =
             self->width - ob_rr_theme->grip_width;
 
-        RrPaint(ob_rr_theme->a_clear, self->trresize,
-                ob_rr_theme->grip_width, ob_rr_theme->handle_height);
+        if (ob_rr_theme->grip_width > 0)
+            RrPaint(ob_rr_theme->a_clear, self->trtresize,
+                    ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1);
 
+        ob_rr_theme->a_clear->surface.parentx =
+            self->width - (ob_rr_theme->paddingx + 1);
+
+        if (ob_rr_theme->title_height > 0)
+            RrPaint(ob_rr_theme->a_clear, self->trrresize,
+                    ob_rr_theme->paddingx, ob_rr_theme->title_height);
 
         /* set parents for any parent relative guys */
         l->surface.parent = t;
         l->surface.parentx = self->label_x;
-        l->surface.parenty = ob_rr_theme->padding;
+        l->surface.parenty = ob_rr_theme->paddingy;
 
         m->surface.parent = t;
         m->surface.parentx = self->max_x;
-        m->surface.parenty = ob_rr_theme->padding + 1;
+        m->surface.parenty = ob_rr_theme->paddingy + 1;
 
         n->surface.parent = t;
         n->surface.parentx = self->icon_x;
-        n->surface.parenty = ob_rr_theme->padding;
+        n->surface.parenty = ob_rr_theme->paddingy;
 
         i->surface.parent = t;
         i->surface.parentx = self->iconify_x;
-        i->surface.parenty = ob_rr_theme->padding + 1;
+        i->surface.parenty = ob_rr_theme->paddingy + 1;
 
         d->surface.parent = t;
         d->surface.parentx = self->desk_x;
-        d->surface.parenty = ob_rr_theme->padding + 1;
+        d->surface.parenty = ob_rr_theme->paddingy + 1;
 
         s->surface.parent = t;
         s->surface.parentx = self->shade_x;
-        s->surface.parenty = ob_rr_theme->padding + 1;
+        s->surface.parenty = ob_rr_theme->paddingy + 1;
 
         c->surface.parent = t;
         c->surface.parentx = self->close_x;
-        c->surface.parenty = ob_rr_theme->padding + 1;
+        c->surface.parenty = ob_rr_theme->paddingy + 1;
 
         framerender_label(self, l);
         framerender_max(self, m);
@@ -194,7 +205,9 @@ void framerender_frame(ObFrame *self)
         framerender_close(self, c);
     }
 
-    if (self->decorations & OB_FRAME_DECOR_HANDLE) {
+    if (self->decorations & OB_FRAME_DECOR_HANDLE &&
+        ob_rr_theme->handle_height > 0)
+    {
         RrAppearance *h, *g;
 
         h = (self->focused ?
This page took 0.024713 seconds and 4 git commands to generate.