better coloring for the cycling hilite

This commit is contained in:
Dana Jansens 2007-05-19 18:58:38 +00:00
parent 53066b1808
commit 7dd7c9973b

View file

@ -311,29 +311,39 @@ static void popup_render(ObFocusCyclePopup *p, const ObClient *c)
/* create the hilite under the target icon */ /* create the hilite under the target icon */
{ {
RrPixel32 color = 0; RrPixel32 color;
gint i, j; gint i, j;
memset(p->hilite_rgba, color, w * h * sizeof(RrPixel32)); color = ((ob_rr_theme->osd_color->r & 0xff) << RrDefaultRedOffset) +
((ob_rr_theme->osd_color->g & 0xff) << RrDefaultGreenOffset) +
((ob_rr_theme->osd_color->b & 0xff) << RrDefaultBlueOffset);
for (i = 0; i < ICON_SIZE; ++i) for (i = 0; i < h; ++i)
for (j = 0; j < ICON_SIZE; ++j) { for (j = 0; j < w; ++j) {
guchar a; guchar a;
const gint x = j - newtargetx;
const gint y = i - newtargety;
if (i < ICON_HILITE_WIDTH || if (x < 0 || x >= ICON_SIZE ||
i >= ICON_SIZE-ICON_HILITE_WIDTH || y < 0 || y >= ICON_SIZE)
j < ICON_HILITE_WIDTH || {
j >= ICON_SIZE-ICON_HILITE_WIDTH) /* outside the target */
a = 0x00;
}
else if (x < ICON_HILITE_WIDTH ||
x >= ICON_SIZE-ICON_HILITE_WIDTH ||
y < ICON_HILITE_WIDTH ||
y >= ICON_SIZE-ICON_HILITE_WIDTH)
{ {
/* the border of the target */ /* the border of the target */
a = 0x88; a = 0x88;
} }
else { else {
/* the background of the target */ /* the background of the target */
a = 0x33; a = 0x22;
} }
p->hilite_rgba[(i+newtargety) * w + (j+newtargetx)] = p->hilite_rgba[i * w + j] =
color + (a << RrDefaultAlphaOffset); color + (a << RrDefaultAlphaOffset);
} }
} }