diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-03-31 22:58:54 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-03-31 22:58:54 +0000 |
| commit | 4398c7c168fdcba1e31afc465d9783a57e7e674a (patch) | |
| tree | db09d0f666647785fbe80451a956d9f95f383e3d /engines/openbox/obrender.c | |
| parent | 6e4c57b3c2dca2623e29c5844100521eba6e24a0 (diff) | |
add a shaded button
Diffstat (limited to 'engines/openbox/obrender.c')
| -rw-r--r-- | engines/openbox/obrender.c | 25 |
1 files changed, 24 insertions, 1 deletions
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; |
