@@ -1694,11 +1694,7 @@ def update_offset(self, dx, dy):
16941694 the point where the mouse drag started.
16951695 '''
16961696
1697- Optionally, you may override the following methods::
1698-
1699- def artist_picker(self, artist, evt):
1700- '''The picker method that will be used.'''
1701- return self.ref_artist.contains(evt)
1697+ Optionally, you may override the following method::
17021698
17031699 def finalize_offset(self):
17041700 '''Called when the mouse is released.'''
@@ -1719,7 +1715,18 @@ def __init__(self, ref_artist, use_blit=False):
17191715 c2 = self .canvas .mpl_connect ('pick_event' , self .on_pick )
17201716 c3 = self .canvas .mpl_connect ('button_release_event' , self .on_release )
17211717
1722- ref_artist .set_picker (self .artist_picker )
1718+ if not ref_artist .pickable ():
1719+ ref_artist .set_picker (True )
1720+ with cbook ._suppress_matplotlib_deprecation_warning ():
1721+ if self .artist_picker != DraggableBase .artist_picker .__get__ (self ):
1722+ overridden_picker = self .artist_picker
1723+ else :
1724+ overridden_picker = None
1725+ if overridden_picker is not None :
1726+ cbook .warn_deprecated (
1727+ "3.3" , name = "artist_picker" , obj_type = "method" ,
1728+ addendum = "Directly set the artist's picker if desired." )
1729+ ref_artist .set_picker (overridden_picker )
17231730 self .cids = [c2 , c3 ]
17241731
17251732 def on_motion (self , evt ):
@@ -1786,6 +1793,7 @@ def disconnect(self):
17861793 else :
17871794 self .canvas .mpl_disconnect (c1 )
17881795
1796+ @cbook .deprecated ("3.3" , alternative = "self.ref_artist.contains" )
17891797 def artist_picker (self , artist , evt ):
17901798 return self .ref_artist .contains (evt )
17911799
0 commit comments