wip: cross fade the window_group and window clones going in/out of the overview

https://bugzilla.gnome.org/show_bug.cgi?id=653868
This commit is contained in:
Rui Matos 2011-07-04 18:35:01 +01:00
parent a50c30a4fd
commit 1625591598
2 changed files with 43 additions and 14 deletions

View File

@ -535,7 +535,15 @@ Overview.prototype = {
// //
// If we switched to displaying the actors in the Overview rather than // If we switched to displaying the actors in the Overview rather than
// clones of them, this would obviously no longer be necessary. // clones of them, this would obviously no longer be necessary.
global.window_group.hide();
global.window_group.raise(global.overlay_group);
Tweener.addTween(global.window_group,
{ opacity: 0,
time: ANIMATION_TIME,
transition: 'easeInOutQuad',
onComplete: function() { global.window_group.hide(); }
});
this._group.show(); this._group.show();
this._background.show(); this._background.show();
@ -664,6 +672,14 @@ Overview.prototype = {
this.animationInProgress = true; this.animationInProgress = true;
this._hideInProgress = true; this._hideInProgress = true;
global.window_group.raise(global.overlay_group);
global.window_group.show();
Tweener.addTween(global.window_group,
{ opacity: 255,
time: ANIMATION_TIME,
transition: 'easeInOutQuad'
});
if (!this.workspaces.getActiveWorkspace().hasMaximizedWindows()) { if (!this.workspaces.getActiveWorkspace().hasMaximizedWindows()) {
this._desktopFade.opacity = 0; this._desktopFade.opacity = 0;
this._desktopFade.show(); this._desktopFade.show();
@ -704,8 +720,6 @@ Overview.prototype = {
}, },
_hideDone: function() { _hideDone: function() {
global.window_group.show();
this.workspaces.destroy(); this.workspaces.destroy();
this.workspaces = null; this.workspaces = null;

View File

@ -973,17 +973,28 @@ Workspace.prototype = {
}); });
} }
clone.actor.opacity = 0;
Tweener.addTween(clone.actor, Tweener.addTween(clone.actor,
{ x: x, { opacity: 255,
y: y,
scale_x: scale,
scale_y: scale,
time: Overview.ANIMATION_TIME, time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad', transition: 'easeInOutQuad',
onComplete: Lang.bind(this, function() { onComplete: Lang.bind(this, function() {
this._showWindowOverlay(clone, overlay, true); this._showWindowOverlay(clone, overlay, true);
}) })
}); });
// Tweener.addTween(clone.actor,
// { x: x,
// y: y,
// scale_x: scale,
// scale_y: scale,
// time: Overview.ANIMATION_TIME,
// transition: 'easeInOutQuad',
// onComplete: Lang.bind(this, function() {
// this._showWindowOverlay(clone, overlay, true);
// })
// });
clone.actor.set_position(x, y);
clone.actor.set_scale(scale, scale);
} else { } else {
clone.actor.set_position(x, y); clone.actor.set_position(x, y);
clone.actor.set_scale(scale, scale); clone.actor.set_scale(scale, scale);
@ -1248,14 +1259,18 @@ Workspace.prototype = {
if (clone.metaWindow.showing_on_its_workspace()) { if (clone.metaWindow.showing_on_its_workspace()) {
Tweener.addTween(clone.actor, Tweener.addTween(clone.actor,
{ x: clone.origX, { opacity: 0,
y: clone.origY,
scale_x: 1.0,
scale_y: 1.0,
time: Overview.ANIMATION_TIME, time: Overview.ANIMATION_TIME,
opacity: 255, transition: 'easeInOutQuad'
transition: 'easeOutQuad'
}); });
// Tweener.addTween(clone.actor,
// { x: clone.origX,
// y: clone.origY,
// scale_x: 1.0,
// scale_y: 1.0,
// time: Overview.ANIMATION_TIME,
// transition: 'easeInOutQuad'
// });
} else { } else {
// The window is hidden, make it shrink and fade it out // The window is hidden, make it shrink and fade it out
Tweener.addTween(clone.actor, Tweener.addTween(clone.actor,