[gnome-shell] lightbox: Use common ease parameters and avoid similar codepaths
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] lightbox: Use common ease parameters and avoid similar codepaths
- Date: Mon, 9 Sep 2019 19:37:18 +0000 (UTC)
commit c101196f5b1e550fc1ba2ea80e345f4a0e53296a
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date: Wed Jul 31 14:10:31 2019 +0200
lightbox: Use common ease parameters and avoid similar codepaths
Easing calls on show/hide functions have some parameters in common whether the
radial effect is enabled or not.
So instead of doing repeated calls with similar parameters, initialize common
values in params objects.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/700
js/ui/lightbox.js | 50 ++++++++++++++++++--------------------------------
1 file changed, 18 insertions(+), 32 deletions(-)
---
diff --git a/js/ui/lightbox.js b/js/ui/lightbox.js
index fbbc011681..563bd637a2 100644
--- a/js/ui/lightbox.js
+++ b/js/ui/lightbox.js
@@ -172,10 +172,13 @@ var Lightbox = class Lightbox {
}
show(fadeInTime) {
- fadeInTime = fadeInTime || 0;
-
this.actor.remove_all_transitions();
+ let easeProps = {
+ duration: fadeInTime || 0,
+ mode: Clutter.AnimationMode.EASE_OUT_QUAD
+ };
+
let onComplete = () => {
this.shown = true;
this.emit('shown');
@@ -183,55 +186,38 @@ var Lightbox = class Lightbox {
if (this._radialEffect) {
this.actor.ease_property(
- '@effects.radial.brightness', VIGNETTE_BRIGHTNESS, {
- duration: fadeInTime,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD
- });
+ '@effects.radial.brightness', VIGNETTE_BRIGHTNESS, easeProps);
this.actor.ease_property(
- '@effects.radial.sharpness', VIGNETTE_SHARPNESS, {
- duration: fadeInTime,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD,
- onComplete
- });
+ '@effects.radial.sharpness', VIGNETTE_SHARPNESS,
+ Object.assign({ onComplete }, easeProps));
} else {
- this.actor.ease({
+ this.actor.ease(Object.assign(easeProps, {
opacity: 255 * this._fadeFactor,
- duration: fadeInTime,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete
- });
+ }));
}
this.actor.show();
}
hide(fadeOutTime) {
- fadeOutTime = fadeOutTime || 0;
-
this.shown = false;
this.actor.remove_all_transitions();
+ let easeProps = {
+ duration: fadeOutTime || 0,
+ mode: Clutter.AnimationMode.EASE_OUT_QUAD
+ };
+
let onComplete = () => this.actor.hide();
if (this._radialEffect) {
this.actor.ease_property(
- '@effects.radial.brightness', 1.0, {
- duration: fadeOutTime,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD
- });
+ '@effects.radial.brightness', 1.0, easeProps);
this.actor.ease_property(
- '@effects.radial.sharpness', 0.0, {
- duration: fadeOutTime,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD,
- onComplete
- });
+ '@effects.radial.sharpness', 0.0, Object.assign({ onComplete }, easeProps));
} else {
- this.actor.ease({
- opacity: 0,
- duration: fadeOutTime,
- mode: Clutter.AnimationMode.EASE_OUT_QUAD,
- onComplete
- });
+ this.actor.ease(Object.assign(easeProps, { opacity: 0, onComplete }));
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]