@@ -120,7 +120,6 @@ def test_eq(self):
120120 @pytest .mark .parametrize ('sync' , (False ,))
121121 def test_as_mpl_selector (self , sync ):
122122 plt = pytest .importorskip ('matplotlib.pyplot' )
123- from matplotlib .testing .widgets import do_event
124123
125124 rng = np .random .default_rng (0 )
126125 data = rng .random ((16 , 16 ))
@@ -142,12 +141,20 @@ def update_mask(reg):
142141
143142 region = self .reg .copy (angle = 0 * u .deg )
144143
145- selector = region .as_mpl_selector (ax , callback = update_mask , sync = sync )
144+ selector = region .as_mpl_selector (ax , callback = update_mask , sync = sync ) # noqa: F841
146145
147- do_event (selector , 'press' , xdata = 7.3 , ydata = 4.4 , button = 1 )
148- do_event (selector , 'onmove' , xdata = 9.3 , ydata = 5.4 , button = 1 )
149- do_event (selector , 'release' , xdata = 9.3 , ydata = 5.4 , button = 1 )
146+ from matplotlib .backend_bases import MouseEvent
147+ canvas = ax .figure .canvas
150148
149+ evt = MouseEvent ('button_press_event' , canvas ,
150+ * ax .transData .transform ((7.3 , 4.4 )), button = 1 )
151+ canvas .callbacks .process (evt .name , evt )
152+ evt = MouseEvent ('motion_notify_event' , canvas ,
153+ * ax .transData .transform ((9.3 , 5.4 )), button = 1 )
154+ canvas .callbacks .process (evt .name , evt )
155+ evt = MouseEvent ('button_release_event' , canvas ,
156+ * ax .transData .transform ((9.3 , 5.4 )), button = 1 )
157+ canvas .callbacks .process (evt .name , evt )
151158 ax .figure .canvas .draw ()
152159
153160 if sync :
@@ -177,8 +184,6 @@ def test_mpl_selector_drag(self, anywhere):
177184 Test dragging of entire region from central handle and anywhere.
178185 """
179186 plt = pytest .importorskip ('matplotlib.pyplot' )
180- from matplotlib .testing .widgets import (
181- do_event ) # click_and_drag # MPL_VERSION >= 36
182187
183188 rng = np .random .default_rng (0 )
184189 data = rng .random ((16 , 16 ))
@@ -198,21 +203,35 @@ def update_mask(reg):
198203 assert region ._mpl_selector .drag_from_anywhere is anywhere
199204
200205 # click_and_drag(selector, start=(3, 4), end=(3.5, 4.5))
201- do_event (selector , 'press' , xdata = 3 , ydata = 4 , button = 1 )
202- do_event (selector , 'onmove' , xdata = 3.5 , ydata = 4.5 , button = 1 )
203- do_event (selector , 'release' , xdata = 3.5 , ydata = 4.5 , button = 1 )
204206
207+ from matplotlib .backend_bases import MouseEvent
208+ canvas = ax .figure .canvas
209+
210+ evt = MouseEvent ('button_press_event' , canvas ,
211+ * ax .transData .transform ((3 , 4 )), button = 1 )
212+ canvas .callbacks .process (evt .name , evt )
213+ evt = MouseEvent ('motion_notify_event' , canvas ,
214+ * ax .transData .transform ((3.5 , 4.5 )), button = 1 )
215+ canvas .callbacks .process (evt .name , evt )
216+ evt = MouseEvent ('button_release_event' , canvas ,
217+ * ax .transData .transform ((3.5 , 4.5 )), button = 1 )
218+ canvas .callbacks .process (evt .name , evt )
205219 ax .figure .canvas .draw ()
206220
207221 assert_allclose (region .center .x , 3.5 )
208222 assert_allclose (region .center .y , 4.5 )
209223 assert_allclose (region .width , 4 )
210224 assert_allclose (region .height , 3 )
211225
212- do_event (selector , 'press' , xdata = 3.25 , ydata = 4.25 , button = 1 )
213- do_event (selector , 'onmove' , xdata = 4.25 , ydata = 5.25 , button = 1 )
214- do_event (selector , 'release' , xdata = 4.25 , ydata = 5.25 , button = 1 )
215-
226+ evt = MouseEvent ('button_press_event' , canvas ,
227+ * ax .transData .transform ((3.25 , 4.25 )), button = 1 )
228+ canvas .callbacks .process (evt .name , evt )
229+ evt = MouseEvent ('motion_notify_event' , canvas ,
230+ * ax .transData .transform ((4.25 , 5.25 )), button = 1 )
231+ canvas .callbacks .process (evt .name , evt )
232+ evt = MouseEvent ('button_release_event' , canvas ,
233+ * ax .transData .transform ((4.25 , 5.25 )), button = 1 )
234+ canvas .callbacks .process (evt .name , evt )
216235 ax .figure .canvas .draw ()
217236
218237 # For drag_from_anywhere=False this will have created a new 1x1 rectangle.
0 commit comments