[gnome-shell] messageTray: keep the desktop clone at integral positions tweening it
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] messageTray: keep the desktop clone at integral positions tweening it
- Date: Mon, 20 Aug 2012 01:18:34 +0000 (UTC)
commit fe8e62c6a8cccd0719a406f2f0ff3bb496cb3d00
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Wed Aug 15 19:21:33 2012 -0400
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 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 8d14d1f..f774716 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,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]