@@ -1525,16 +1525,21 @@ def __init__(self, ax, horizOn=True, vertOn=True, useblit=False,
1525
1525
self .background = None
1526
1526
self .needclear = False
1527
1527
1528
- clear = _api .deprecate_privatize_attribute ('3.5' )
1528
+ @_api .deprecated ('3.5' )
1529
+ def clear (self , event ):
1530
+ """Internal event handler to clear the cursor."""
1531
+ self ._clear (event )
1532
+ if self .ignore (event ):
1533
+ return
1534
+ self .linev .set_visible (False )
1535
+ self .lineh .set_visible (False )
1529
1536
1530
1537
def _clear (self , event ):
1531
1538
"""Internal event handler to clear the cursor."""
1532
1539
if self .ignore (event ):
1533
1540
return
1534
1541
if self .useblit :
1535
1542
self .background = self .canvas .copy_from_bbox (self .ax .bbox )
1536
- self .linev .set_visible (False )
1537
- self .lineh .set_visible (False )
1538
1543
1539
1544
onmove = _api .deprecate_privatize_attribute ('3.5' )
1540
1545
@@ -1553,15 +1558,15 @@ def _onmove(self, event):
1553
1558
self .needclear = False
1554
1559
return
1555
1560
self .needclear = True
1556
- if not self .visible :
1557
- return
1561
+
1558
1562
self .linev .set_xdata ((event .xdata , event .xdata ))
1563
+ self .linev .set_visible (self .visible and self .vertOn )
1559
1564
1560
1565
self .lineh .set_ydata ((event .ydata , event .ydata ))
1561
- self .linev .set_visible (self .visible and self .vertOn )
1562
1566
self .lineh .set_visible (self .visible and self .horizOn )
1563
1567
1564
- self ._update ()
1568
+ if self .visible and (self .vertOn or self .horizOn ):
1569
+ self ._update ()
1565
1570
1566
1571
def _update (self ):
1567
1572
if self .useblit :
@@ -1644,7 +1649,14 @@ def disconnect(self):
1644
1649
self .canvas .mpl_disconnect (self ._cidmotion )
1645
1650
self .canvas .mpl_disconnect (self ._ciddraw )
1646
1651
1647
- clear = _api .deprecate_privatize_attribute ('3.5' )
1652
+ @_api .deprecated ('3.5' )
1653
+ def clear (self , event ):
1654
+ """Clear the cursor."""
1655
+ if self .ignore (event ):
1656
+ return
1657
+ self ._clear (event )
1658
+ for line in self .vlines + self .hlines :
1659
+ line .set_visible (False )
1648
1660
1649
1661
def _clear (self , event ):
1650
1662
"""Clear the cursor."""
@@ -1653,8 +1665,6 @@ def _clear(self, event):
1653
1665
if self .useblit :
1654
1666
self .background = (
1655
1667
self .canvas .copy_from_bbox (self .canvas .figure .bbox ))
1656
- for line in self .vlines + self .hlines :
1657
- line .set_visible (False )
1658
1668
1659
1669
onmove = _api .deprecate_privatize_attribute ('3.5' )
1660
1670
@@ -1666,8 +1676,6 @@ def _onmove(self, event):
1666
1676
if not self .canvas .widgetlock .available (self ):
1667
1677
return
1668
1678
self .needclear = True
1669
- if not self .visible :
1670
- return
1671
1679
if self .vertOn :
1672
1680
for line in self .vlines :
1673
1681
line .set_xdata ((event .xdata , event .xdata ))
@@ -1676,7 +1684,8 @@ def _onmove(self, event):
1676
1684
for line in self .hlines :
1677
1685
line .set_ydata ((event .ydata , event .ydata ))
1678
1686
line .set_visible (self .visible )
1679
- self ._update ()
1687
+ if self .visible and (self .vertOn or self .horizOn ):
1688
+ self ._update ()
1680
1689
1681
1690
def _update (self ):
1682
1691
if self .useblit :
0 commit comments