summaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-26 05:36:18 +0000
committerDana Jansens <danakj@orodu.net>2003-03-26 05:36:18 +0000
commitfef5d0d9bca56dfeec86ddf0867e64c908a1f97d (patch)
treeecbc43b5ef88b41b7d854b162dc635013cfe462a /engines
parentc9c72cbe294b7924304a226f867686f3d05ff37a (diff)
use rgba icons for clients
Diffstat (limited to 'engines')
-rw-r--r--engines/openbox/openbox.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/engines/openbox/openbox.c b/engines/openbox/openbox.c
index 013deec6..f7113c87 100644
--- a/engines/openbox/openbox.c
+++ b/engines/openbox/openbox.c
@@ -176,7 +176,7 @@ gboolean startup()
a_unfocused_title = appearance_new(Surface_Planar, 0);
a_focused_label = appearance_new(Surface_Planar, 1);
a_unfocused_label = appearance_new(Surface_Planar, 1);
- a_icon = appearance_new(Surface_Planar, 0);/*1);*/
+ a_icon = appearance_new(Surface_Planar, 1);
a_focused_handle = appearance_new(Surface_Planar, 0);
a_unfocused_handle = appearance_new(Surface_Planar, 0);
@@ -790,8 +790,17 @@ static void render_icon(ObFrame *self)
{
if (self->icon_x < 0) return;
- /* XXX set the texture's icon picture! */
- RECT_SET(self->a_icon->texture[0].position, 0, 0, BUTTON_SIZE,BUTTON_SIZE);
+ if (self->frame.client->nicons) {
+ Icon *icon = client_icon(self->frame.client, BUTTON_SIZE, BUTTON_SIZE);
+ self->a_icon->texture[0].type = RGBA;
+ self->a_icon->texture[0].data.rgba.width = icon->width;
+ self->a_icon->texture[0].data.rgba.height = icon->height;
+ self->a_icon->texture[0].data.rgba.data = icon->data;
+ RECT_SET(self->a_icon->texture[0].position, 0, 0,
+ BUTTON_SIZE,BUTTON_SIZE);
+ } else
+ self->a_icon->texture[0].type = NoTexture;
+
paint(self->icon, self->a_icon, 0, 0, BUTTON_SIZE, BUTTON_SIZE);
}