Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-04-10 21:51:07 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-04-10 21:51:07 (GMT)
commit60d0d9caec902cf6824ce01368436e58925ceff4 (patch)
treed0be389d542b9cd08f1ec207fc0fd3aa6f28f2f1 /TurtleArt
parenta331be739602246b761d9d2035b5fd5a71208ff8 (diff)
scroll canvas on drag
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tawindow.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index c1fa4a6..f6c41b4 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -201,6 +201,7 @@ class TurtleArtWindow():
self.drag_group = None
self.drag_turtle = 'move', 0, 0
self.drag_pos = 0, 0
+ self.dragging_canvas = [False, 0, 0]
self.turtle_movement_to_share = None
self.paste_offset = 20 # Don't paste on top of where you copied.
@@ -1181,8 +1182,12 @@ class TurtleArtWindow():
self.dx = 0
self.dy = 0
+ self.dragging_canvas[1] = x
+ self.dragging_canvas[2] = y
if spr is None:
+ self.dragging_canvas[0] = True
return True
+ self.dragging_canvas[0] = False
self.selected_spr = spr
# From the sprite at x, y, look for a corresponding block
@@ -1685,6 +1690,16 @@ class TurtleArtWindow():
def _mouse_move(self, x, y):
""" Process mouse movements """
+
+ if self.dragging_canvas[0]:
+ dx = self.dragging_canvas[1] - x
+ dy = self.dragging_canvas[2] - y
+ self.dragging_canvas[1] = x
+ self.dragging_canvas[2] = y
+ if self.running_sugar:
+ self.activity.adjust_sw(dx, dy)
+ return True
+
self.block_operation = 'move'
# First, check to see if we are dragging or rotating a turtle.
@@ -1853,6 +1868,13 @@ class TurtleArtWindow():
return True
def button_release(self, x, y):
+ if self.dragging_canvas[0]:
+ self.dragging_canvas[0] = False
+ self.dragging_canvas[1] = x
+ self.dragging_canvas[2] = y
+ self.activity.adjust_palette()
+ return True
+
# We may have been moving the turtle
if self.selected_turtle is not None:
(tx, ty) = self.selected_turtle.get_xy()