Allow framed ARGB windows to have a shadow

When creating the drop shadow source, just have a translucent centre
This commit is contained in:
Iain Holmes 2008-10-21 16:51:18 +01:00
parent 0684ef95c5
commit be11a6bf72

View File

@ -599,16 +599,6 @@ mutter_window_has_shadow (MutterWindow *self)
{ {
MutterWindowPrivate * priv = self->priv; MutterWindowPrivate * priv = self->priv;
/*
* Do not add shadows to ARGB windows (since they are probably transparent)
*/
if (priv->argb32 || priv->opacity != 0xff)
{
meta_verbose ("Window 0x%x has no shadow as it is ARGB\n",
(guint)priv->xwindow);
return FALSE;
}
/* /*
* Always put a shadow around windows with a frame - This should override * Always put a shadow around windows with a frame - This should override
* the restriction about not putting a shadow around shaped windows * the restriction about not putting a shadow around shaped windows
@ -624,6 +614,16 @@ mutter_window_has_shadow (MutterWindow *self)
} }
} }
/*
* Do not add shadows to ARGB windows (since they are probably transparent)
*/
if (priv->argb32 || priv->opacity != 0xff)
{
meta_verbose ("Window 0x%x has no shadow as it is ARGB\n",
(guint)priv->xwindow);
return FALSE;
}
/* /*
* Never put a shadow around shaped windows * Never put a shadow around shaped windows
*/ */
@ -2586,7 +2586,7 @@ shadow_gaussian_make_tile ()
_d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].r = 0; _d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].r = 0;
_d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].g = 0; _d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].g = 0;
_d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].b = 0; _d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].b = 0;
_d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].a = d; _d[y*3*pwidth + 3*pwidth*pheight + x + pwidth].a = 0;
} }
return data; return data;