fix parentrel bevels
This commit is contained in:
parent
6e57596775
commit
0ba396fea0
1 changed files with 8 additions and 6 deletions
|
@ -210,18 +210,20 @@ static void gradient_parentrelative(RrAppearance *a, gint w, gint h)
|
||||||
of the parent's, amplifying it. So instead, rerender the child with
|
of the parent's, amplifying it. So instead, rerender the child with
|
||||||
the parent's settings, but the child's bevel and interlace */
|
the parent's settings, but the child's bevel and interlace */
|
||||||
if (a->surface.relief != RR_RELIEF_FLAT &&
|
if (a->surface.relief != RR_RELIEF_FLAT &&
|
||||||
|
(a->surface.parent->surface.relief != RR_RELIEF_FLAT ||
|
||||||
|
a->surface.parent->surface.border) &&
|
||||||
!a->surface.parentx && !a->surface.parenty &&
|
!a->surface.parentx && !a->surface.parenty &&
|
||||||
sw == w && sh == h)
|
sw == w && sh == h)
|
||||||
{
|
{
|
||||||
RrSurface old = a->surface;
|
RrSurface old = a->surface;
|
||||||
a->surface = a->surface.parent->surface;
|
a->surface = a->surface.parent->surface;
|
||||||
a->surface.relief = old.relief;
|
|
||||||
a->surface.bevel = old.bevel;
|
/* turn these off for the parent */
|
||||||
|
a->surface.relief = RR_RELIEF_FLAT;
|
||||||
|
a->surface.border = FALSE;
|
||||||
|
|
||||||
a->surface.pixel_data = old.pixel_data;
|
a->surface.pixel_data = old.pixel_data;
|
||||||
if (old.interlaced) {
|
|
||||||
a->surface.interlaced = TRUE;
|
|
||||||
a->surface.interlace_color = old.interlace_color;
|
|
||||||
}
|
|
||||||
RrRender(a, w, h);
|
RrRender(a, w, h);
|
||||||
a->surface = old;
|
a->surface = old;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue