summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Carr <racarr@gorbie.(none)>2007-04-24 09:31:46 -0400
committerRobert Carr <racarr@gorbie.(none)>2007-04-24 09:31:46 -0400
commitd10ccc2f435b1f8bc66b95e0c18b2ae6528134ce (patch)
treedaa783e372d6ab785f47a3cab87e4950936111d7
parent5ed343ebd7a97f49b57e9ac85d98c790aeb801d3 (diff)
downloadberyl-premerge-d10ccc2f435b1f8bc66b95e0c18b2ae6528134ce.tar.gz
beryl-premerge-d10ccc2f435b1f8bc66b95e0c18b2ae6528134ce.tar.bz2
Change to move at start of animation.
-rw-r--r--src/wall.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wall.c b/src/wall.c
index f31fdd2..9a72208 100644
--- a/src/wall.c
+++ b/src/wall.c
@@ -656,6 +656,8 @@ static Bool wallMoveViewport(CompScreen * s, int x, int y, Window moveWindow)
ws->destx = newDestX;
ws->desty = newDestY;
+ moveScreenViewport(s, ws->destx, ws->desty, TRUE);
+
ws->moving = TRUE;
ws->timer = (int)newTimeout - ws->timer;
if (ws->moveWindow != moveWindow)
@@ -1798,7 +1800,6 @@ static void wallPreparePaintScreen(CompScreen * s, int ms)
if (ws->moving && ws->timer <= 0)
{
ws->moving = FALSE;
- moveScreenViewport(s, ws->destx, ws->desty, TRUE);
ws->timer = 0;
if (ws->moveWindow)
wallReleaseMoveWindow(s);
@@ -2069,6 +2070,7 @@ static void wallPaintTransformedScreen(CompScreen * s,
float dx, dy;
wallGetDistanceForAnimation(s, left, output, &dx, &dy);
+ matrixTranslate(&sTransform, -ws->destx, ws->desty,0);
matrixTranslate(&sTransform, dx, -dy, 0);
for (i = -abs(ws->destx); i < s->hsize; i++) // TODO: Add a slight bit of intelligence to not be so ineffecient