Skip to content

Commit f649f68

Browse files
committed
GestureController: Allow to enable custom backends
This is especially useful for testing purposes
1 parent 7b8f763 commit f649f68

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

lib/Gestures/GestureController.vala

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ public class Gala.GestureController : Object {
8888

8989
public bool recognizing { get; private set; }
9090

91-
private ToucheggBackend? touchegg_backend;
92-
private TouchpadBackend? touchpad_backend;
91+
private List<GestureBackend> enabled_backends = new List<GestureBackend> ();
92+
9393
private ScrollBackend? scroll_backend;
9494

9595
private GestureBackend? recognizing_backend;
@@ -121,26 +121,24 @@ public class Gala.GestureController : Object {
121121

122122
public void enable_touchpad (Clutter.Actor actor) {
123123
if (Meta.Util.is_wayland_compositor ()) {
124-
touchpad_backend = new TouchpadBackend (actor, group);
125-
touchpad_backend.on_gesture_detected.connect (gesture_detected);
126-
touchpad_backend.on_begin.connect (gesture_begin);
127-
touchpad_backend.on_update.connect (gesture_update);
128-
touchpad_backend.on_end.connect (gesture_end);
124+
enable_backend (new TouchpadBackend (actor, group));
129125
}
130126

131-
touchegg_backend = ToucheggBackend.get_default (); // Will automatically filter events on wayland
132-
touchegg_backend.on_gesture_detected.connect (gesture_detected);
133-
touchegg_backend.on_begin.connect (gesture_begin);
134-
touchegg_backend.on_update.connect (gesture_update);
135-
touchegg_backend.on_end.connect (gesture_end);
127+
enable_backend (ToucheggBackend.get_default ()); // Will automatically filter events on wayland
136128
}
137129

138130
public void enable_scroll (Clutter.Actor actor, Clutter.Orientation orientation) {
139131
scroll_backend = new ScrollBackend (actor, orientation, new GestureSettings ());
140-
scroll_backend.on_gesture_detected.connect (gesture_detected);
141-
scroll_backend.on_begin.connect (gesture_begin);
142-
scroll_backend.on_update.connect (gesture_update);
143-
scroll_backend.on_end.connect (gesture_end);
132+
enable_backend (scroll_backend);
133+
}
134+
135+
internal void enable_backend (GestureBackend backend) {
136+
backend.on_gesture_detected.connect (gesture_detected);
137+
backend.on_begin.connect (gesture_begin);
138+
backend.on_update.connect (gesture_update);
139+
backend.on_end.connect (gesture_end);
140+
141+
enabled_backends.append (backend);
144142
}
145143

146144
private void prepare () {

0 commit comments

Comments
 (0)