From fe8e62c6a8cccd0719a406f2f0ff3bb496cb3d00 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Wed, 15 Aug 2012 19:21:33 -0400 Subject: [PATCH] messageTray: keep the desktop clone at integral positions tweening it Drawing the desktop at non-integral positions is slower because it turns off the obscured-area clipping logic, so avoid that. --- js/ui/messageTray.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 8d14d1f49..f77471660 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1932,12 +1932,14 @@ const MessageTray = new Lang.Class({ this._lightbox.show(); + this._desktopClone._progress = 0; Tweener.addTween(this._desktopClone, - { y: this._desktopClone.y - this.actor.height, + { _progress: this.actor.height, time: ANIMATION_TIME, transition: 'easeOutQuad', onUpdate: Lang.bind(this, function() { - let progress = -1 * this._desktopClone.y; // y is negative + let progress = Math.round(this._desktopClone._progress); + this._desktopClone.y = - progress; this._desktopClone.set_clip(geometry.x, geometry.y + progress, geometry.width, @@ -1966,8 +1968,9 @@ const MessageTray = new Lang.Class({ } let geometry = this._desktopClone.clip; + this._desktopClone._progress = 0; Tweener.addTween(this._desktopClone, - { y: this._desktopClone.y + this.actor.height, + { _progress: this.actor.height, time: ANIMATION_TIME, transition: 'easeOutQuad', onComplete: Lang.bind(this, function() { @@ -1975,7 +1978,8 @@ const MessageTray = new Lang.Class({ this._desktopClone = null; }), onUpdate: Lang.bind(this, function() { - let progress = this.actor.height + this._desktopClone.y; // y is negative + let progress = Math.round(this._desktopClone._progress); + this._desktopClone.y = progress - this.actor.height; this._desktopClone.set_clip(geometry.x, geometry.y - progress, geometry.width,