|
|
@@ -94,6 +94,8 @@ class TransformationTracker(GestureTracker):
|
|
|
supported_gestures = [RotationGesture, PinchGesture, DragGesture,
|
|
|
FlickGesture]
|
|
|
|
|
|
+ configurable = ['propagate_events']
|
|
|
+
|
|
|
def __init__(self, area):
|
|
|
super(TransformationTracker, self).__init__(area)
|
|
|
|
|
|
@@ -105,6 +107,8 @@ class TransformationTracker(GestureTracker):
|
|
|
|
|
|
self.deleted = []
|
|
|
|
|
|
+ self.propagate_events = False
|
|
|
+
|
|
|
def update_centroid(self):
|
|
|
if not self.points:
|
|
|
self.centroid = None
|
|
|
@@ -126,7 +130,9 @@ class TransformationTracker(GestureTracker):
|
|
|
def on_point_down(self, event):
|
|
|
self.points.append(event.point)
|
|
|
self.update_centroid()
|
|
|
- event.stop_propagation()
|
|
|
+
|
|
|
+ if not self.propagate_events:
|
|
|
+ event.stop_propagation()
|
|
|
|
|
|
def on_point_move(self, event):
|
|
|
point = event.point
|
|
|
@@ -142,7 +148,9 @@ class TransformationTracker(GestureTracker):
|
|
|
self.points.append(point)
|
|
|
self.update_centroid()
|
|
|
|
|
|
- event.stop_propagation()
|
|
|
+ if not self.propagate_events:
|
|
|
+ event.stop_propagation()
|
|
|
+
|
|
|
self.invalidate_points()
|
|
|
l = len(self.points)
|
|
|
|
|
|
@@ -175,7 +183,9 @@ class TransformationTracker(GestureTracker):
|
|
|
self.trigger(FlickGesture(event, self.centroid,
|
|
|
self.centroid.translation()))
|
|
|
self.update_centroid()
|
|
|
- event.stop_propagation()
|
|
|
+
|
|
|
+ if not self.propagate_events:
|
|
|
+ event.stop_propagation()
|
|
|
|
|
|
|
|
|
def invalidate_points(self):
|