X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=engines%2Fopenbox%2Fobrender.c;h=a609376f68ce9a0cbdb6b2d78dc47a1505f173f5;hb=5b323a936403eb7a31fa4b6d50a32e864152c5de;hp=f63d61f4d442aa4e424457fbfa8d042fa65dffb8;hpb=506c1aa005d0328d4d32e123d437c6afe92b8ea4;p=chaz%2Fopenbox diff --git a/engines/openbox/obrender.c b/engines/openbox/obrender.c index f63d61f4..a609376f 100644 --- a/engines/openbox/obrender.c +++ b/engines/openbox/obrender.c @@ -7,6 +7,7 @@ static void obrender_max(ObFrame *self, Appearance *a); static void obrender_icon(ObFrame *self, Appearance *a); static void obrender_iconify(ObFrame *self, Appearance *a); static void obrender_desk(ObFrame *self, Appearance *a); +static void obrender_shade(ObFrame *self, Appearance *a); static void obrender_close(ObFrame *self, Appearance *a); void obrender_frame(ObFrame *self) @@ -20,7 +21,7 @@ void obrender_frame(ObFrame *self) } if (self->frame.client->decorations & Decor_Titlebar) { - Appearance *t, *l, *m, *n, *i, *d, *c; + Appearance *t, *l, *m, *n, *i, *d, *s, *c; t = (client_focused(self->frame.client) ? self->a_focused_title : self->a_unfocused_title); @@ -51,6 +52,15 @@ void obrender_frame(ObFrame *self) ob_a_unfocused_pressed_set_desk : (self->desk_press ? ob_a_unfocused_pressed_desk : ob_a_unfocused_unpressed_desk))); + s = (client_focused(self->frame.client) ? + (self->frame.client->shaded ? + ob_a_focused_pressed_set_shade : + (self->shade_press ? + ob_a_focused_pressed_shade : ob_a_focused_unpressed_shade)) : + (self->frame.client->shaded ? + ob_a_unfocused_pressed_set_shade : + (self->shade_press ? + ob_a_unfocused_pressed_shade :ob_a_unfocused_unpressed_shade))); c = (client_focused(self->frame.client) ? (self->close_press ? ob_a_focused_pressed_close : ob_a_focused_unpressed_close) : @@ -80,6 +90,10 @@ void obrender_frame(ObFrame *self) d->surface.data.planar.parentx = self->desk_x; d->surface.data.planar.parenty = ob_s_bevel + 1; + s->surface.data.planar.parent = t; + s->surface.data.planar.parentx = self->shade_x; + s->surface.data.planar.parenty = ob_s_bevel + 1; + c->surface.data.planar.parent = t; c->surface.data.planar.parentx = self->close_x; c->surface.data.planar.parenty = ob_s_bevel + 1; @@ -89,6 +103,7 @@ void obrender_frame(ObFrame *self) obrender_icon(self, n); obrender_iconify(self, i); obrender_desk(self, d); + obrender_shade(self, s); obrender_close(self, c); } @@ -172,6 +187,14 @@ static void obrender_desk(ObFrame *self, Appearance *a) paint(self->desk, a); } +static void obrender_shade(ObFrame *self, Appearance *a) +{ + if (self->shade_x < 0) return; + + RECT_SET(a->texture[0].position, 0, 0, BUTTON_SIZE,BUTTON_SIZE); + paint(self->shade, a); +} + static void obrender_close(ObFrame *self, Appearance *a) { if (self->close_x < 0) return;