@@ -1616,16 +1616,21 @@ def __init__(self, ax, horizOn=True, vertOn=True, useblit=False,
1616
1616
self .background = None
1617
1617
self .needclear = False
1618
1618
1619
- clear = _api .deprecate_privatize_attribute ('3.5' )
1619
+ @_api .deprecated ('3.5' )
1620
+ def clear (self , event ):
1621
+ """Internal event handler to clear the cursor."""
1622
+ self ._clear (event )
1623
+ if self .ignore (event ):
1624
+ return
1625
+ self .linev .set_visible (False )
1626
+ self .lineh .set_visible (False )
1620
1627
1621
1628
def _clear (self , event ):
1622
1629
"""Internal event handler to clear the cursor."""
1623
1630
if self .ignore (event ):
1624
1631
return
1625
1632
if self .useblit :
1626
1633
self .background = self .canvas .copy_from_bbox (self .ax .bbox )
1627
- self .linev .set_visible (False )
1628
- self .lineh .set_visible (False )
1629
1634
1630
1635
onmove = _api .deprecate_privatize_attribute ('3.5' )
1631
1636
@@ -1644,15 +1649,15 @@ def _onmove(self, event):
1644
1649
self .needclear = False
1645
1650
return
1646
1651
self .needclear = True
1647
- if not self .visible :
1648
- return
1652
+
1649
1653
self .linev .set_xdata ((event .xdata , event .xdata ))
1654
+ self .linev .set_visible (self .visible and self .vertOn )
1650
1655
1651
1656
self .lineh .set_ydata ((event .ydata , event .ydata ))
1652
- self .linev .set_visible (self .visible and self .vertOn )
1653
1657
self .lineh .set_visible (self .visible and self .horizOn )
1654
1658
1655
- self ._update ()
1659
+ if self .visible and (self .vertOn or self .horizOn ):
1660
+ self ._update ()
1656
1661
1657
1662
def _update (self ):
1658
1663
if self .useblit :
@@ -1764,7 +1769,14 @@ def disconnect(self):
1764
1769
canvas .mpl_disconnect (cid )
1765
1770
info ["cids" ].clear ()
1766
1771
1767
- clear = _api .deprecate_privatize_attribute ('3.5' )
1772
+ @_api .deprecated ('3.5' )
1773
+ def clear (self , event ):
1774
+ """Clear the cursor."""
1775
+ if self .ignore (event ):
1776
+ return
1777
+ self ._clear (event )
1778
+ for line in self .vlines + self .hlines :
1779
+ line .set_visible (False )
1768
1780
1769
1781
def _clear (self , event ):
1770
1782
"""Clear the cursor."""
@@ -1773,8 +1785,6 @@ def _clear(self, event):
1773
1785
if self .useblit :
1774
1786
for canvas , info in self ._canvas_infos .items ():
1775
1787
info ["background" ] = canvas .copy_from_bbox (canvas .figure .bbox )
1776
- for line in self .vlines + self .hlines :
1777
- line .set_visible (False )
1778
1788
1779
1789
onmove = _api .deprecate_privatize_attribute ('3.5' )
1780
1790
@@ -1784,8 +1794,6 @@ def _onmove(self, event):
1784
1794
or not event .canvas .widgetlock .available (self )):
1785
1795
return
1786
1796
self .needclear = True
1787
- if not self .visible :
1788
- return
1789
1797
if self .vertOn :
1790
1798
for line in self .vlines :
1791
1799
line .set_xdata ((event .xdata , event .xdata ))
@@ -1794,7 +1802,8 @@ def _onmove(self, event):
1794
1802
for line in self .hlines :
1795
1803
line .set_ydata ((event .ydata , event .ydata ))
1796
1804
line .set_visible (self .visible )
1797
- self ._update ()
1805
+ if self .visible and (self .vertOn or self .horizOn ):
1806
+ self ._update ()
1798
1807
1799
1808
def _update (self ):
1800
1809
if self .useblit :
0 commit comments