mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 10:00:45 -05:00
Allow framed ARGB windows to have a shadow
When creating the drop shadow source, just have a translucent centre
This commit is contained in:
parent
0684ef95c5
commit
be11a6bf72
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user