@@ -1802,6 +1802,8 @@ def _press(self, event):
1802
1802
self .pressv = xdata
1803
1803
else :
1804
1804
self .pressv = ydata
1805
+
1806
+ self ._set_span_xy (event )
1805
1807
return False
1806
1808
1807
1809
def _release (self , event ):
@@ -1840,6 +1842,26 @@ def _onmove(self, event):
1840
1842
"""on motion notify event"""
1841
1843
if self .pressv is None :
1842
1844
return
1845
+
1846
+ self ._set_span_xy (event )
1847
+
1848
+ if self .onmove_callback is not None :
1849
+ vmin = self .pressv
1850
+ xdata , ydata = self ._get_data (event )
1851
+ if self .direction == 'horizontal' :
1852
+ vmax = xdata or self .prev [0 ]
1853
+ else :
1854
+ vmax = ydata or self .prev [1 ]
1855
+
1856
+ if vmin > vmax :
1857
+ vmin , vmax = vmax , vmin
1858
+ self .onmove_callback (vmin , vmax )
1859
+
1860
+ self .update ()
1861
+ return False
1862
+
1863
+ def _set_span_xy (self , event ):
1864
+ """Setting the span coordinates"""
1843
1865
x , y = self ._get_data (event )
1844
1866
if x is None :
1845
1867
return
@@ -1860,21 +1882,6 @@ def _onmove(self, event):
1860
1882
self .rect .set_y (minv )
1861
1883
self .rect .set_height (maxv - minv )
1862
1884
1863
- if self .onmove_callback is not None :
1864
- vmin = self .pressv
1865
- xdata , ydata = self ._get_data (event )
1866
- if self .direction == 'horizontal' :
1867
- vmax = xdata or self .prev [0 ]
1868
- else :
1869
- vmax = ydata or self .prev [1 ]
1870
-
1871
- if vmin > vmax :
1872
- vmin , vmax = vmax , vmin
1873
- self .onmove_callback (vmin , vmax )
1874
-
1875
- self .update ()
1876
- return False
1877
-
1878
1885
1879
1886
class ToolHandles (object ):
1880
1887
"""Control handles for canvas tools.
0 commit comments