@@ -22,7 +22,7 @@ def __init__(self, parent=None):
2222 self .img = None
2323 self .shape = None
2424 self .press = None
25- self .total_rotation = 0
25+ self .total_rotation = 0.
2626 self .translating = True
2727 self .shape_styles = []
2828 self .parent .setFocusPolicy (Qt .ClickFocus )
@@ -155,7 +155,7 @@ def completed(self):
155155 self .img = None
156156 self .shape = None
157157 self .press = None
158- self .total_rotation = 0
158+ self .total_rotation = 0.
159159
160160 def mask (self ):
161161 col , row = self .cropped_shape .T
@@ -317,11 +317,14 @@ def on_rotate(self, event):
317317
318318 def on_key_rotate (self , event ):
319319 angle = 0.00175
320+ # !!! only catch arrow keys
320321 if event .key == 'left' or event .key == 'up' :
321- angle *= - 1
322+ angle *= - 1.
322323 elif event .key != 'right' and event .key != 'down' :
323- return
324-
324+ angle *= 1.
325+ # DEBUG
326+ # print(f'In "on_key_rotate": {angle}')
327+ self .total_rotation += angle
325328 self .rotate_template (self .shape .xy , angle )
326329 self .redraw ()
327330
@@ -359,14 +362,15 @@ def get_angle(self, e):
359362 def on_rotate_release (self , event ):
360363 if self .press is None :
361364 return
362-
363365 angle = self .get_angle (event )
364366 self .total_rotation += angle
365367 y , x = self .center
366368 xy , xpress , ypress = self .press
367369 self .press = None
368370 self .rotate_template (xy , angle )
369371 self .redraw ()
372+ # DEBUG
373+ # print(f'In rotate release {angle}, {self.total_rotation}')
370374
371375 def disconnect_rotate (self ):
372376 self .parent .mpl_disconnect (self .button_press_cid )
0 commit comments