[gnome-shell/gbsneto/wiggle: 1/2] environment: Parse repeat-count and auto-reverse
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/wiggle: 1/2] environment: Parse repeat-count and auto-reverse
- Date: Thu, 17 Oct 2019 06:59:52 +0000 (UTC)
commit 67c96d25870ea59bc6afaa2873abf24ca6d3af58
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue Oct 15 21:32:21 2019 +0200
environment: Parse repeat-count and auto-reverse
Those are two useful ClutterTimeline properties and
will be needed for wiggling the search entry when
failing the password.
Add support for passing repeat-count and auto-reverse
to ClutterActor.ease and ClutterActor.ease_property.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/768
js/ui/environment.js | 32 +++++++++++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/environment.js b/js/ui/environment.js
index bbd33c9654..f203a40e41 100644
--- a/js/ui/environment.js
+++ b/js/ui/environment.js
@@ -105,6 +105,16 @@ function _easeActor(actor, params) {
actor.set_easing_delay(params.delay);
delete params.delay;
+ let repeat_count = 0;
+ if (params.repeat_count != undefined)
+ repeat_count = params.repeat_count;
+ delete params.repeat_count;
+
+ let auto_reverse = false;
+ if (params.auto_reverse != undefined)
+ auto_reverse = params.auto_reverse;
+ delete params.auto_reverse;
+
if (params.mode != undefined)
actor.set_easing_mode(params.mode);
delete params.mode;
@@ -127,10 +137,14 @@ function _easeActor(actor, params) {
else
Meta.disable_unredirect_for_display(global.display);
- if (transition)
+ if (transition) {
+ transition.repeat_count = repeat_count;
+ transition.auto_reverse = auto_reverse;
+
transition.connect('stopped', (t, finished) => callback(finished));
- else
+ } else {
callback(true);
+ }
}
function _easeActorProperty(actor, propName, target, params) {
@@ -143,6 +157,16 @@ function _easeActorProperty(actor, propName, target, params) {
params.duration = adjustAnimationTime(params.duration);
let duration = Math.floor(params.duration || 0);
+ let repeat_count = 0;
+ if (params.repeat_count != undefined)
+ repeat_count = params.repeat_count;
+ delete params.repeat_count;
+
+ let auto_reverse = false;
+ if (params.auto_reverse != undefined)
+ auto_reverse = params.auto_reverse;
+ delete params.auto_reverse;
+
// Copy Clutter's behavior for implicit animations, see
// should_skip_implicit_transition()
if (actor instanceof Clutter.Actor && !actor.mapped)
@@ -168,7 +192,9 @@ function _easeActorProperty(actor, propName, target, params) {
let transition = new Clutter.PropertyTransition(Object.assign({
property_name: propName,
interval: new Clutter.Interval({ value_type: pspec.value_type }),
- remove_on_complete: true
+ remove_on_complete: true,
+ repeat_count: repeat_count,
+ auto_reverse: auto_reverse,
}, params));
actor.add_transition(propName, transition);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]