summaryrefslogtreecommitdiff
path: root/3d.c
diff options
context:
space:
mode:
Diffstat (limited to '3d.c')
-rw-r--r--3d.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/3d.c b/3d.c
index 11756f1..809acde 100644
--- a/3d.c
+++ b/3d.c
@@ -172,11 +172,17 @@ tdPreparePaintScreen (CompScreen *s,
}
minScale = MAX (minScale, 1.0 - (tds->maxDepth * maxDiv));
- tds->basicScale = MAX (minScale, tds->basicScale - amount);
+ if (cs->invert == 1)
+ tds->basicScale = MAX (minScale, tds->basicScale - amount);
+ else
+ tds->basicScale = MIN (2 - minScale, tds->basicScale + amount);
}
else
{
- tds->basicScale = MIN (1.0, tds->basicScale + amount);
+ if (cs->invert == 1)
+ tds->basicScale = MIN (1.0, tds->basicScale + amount);
+ else
+ tds->basicScale = MAX (1.0, tds->basicScale - amount);
}
UNWRAP (tds, s, preparePaintScreen);
@@ -465,7 +471,7 @@ tdPaintWindow (CompWindow *w,
else
#endif
- if (tdw->depth != 0.0f && !tds->test && tds->active)
+ if (tdw->depth != 0.0f && !tds->test && tds->basicScale != 1.0)
mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
if (tds->test)