@@ -1418,17 +1418,6 @@ def __init__(self, name, canvas, x, y, button=None, key=None,
14181418 self .step = step
14191419 self .dblclick = dblclick
14201420
1421- def _process (self ):
1422- if self .name == "button_press_event" :
1423- self .canvas ._button = self .button
1424- elif self .name == "button_release_event" :
1425- self .canvas ._button = None
1426- elif self .name == "motion_notify_event" and self .button is None :
1427- self .button = self .canvas ._button
1428- if self .key is None :
1429- self .key = self .canvas ._key
1430- super ()._process ()
1431-
14321421 def __str__ (self ):
14331422 return (f"{ self .name } : "
14341423 f"xy=({ self .x } , { self .y } ) xydata=({ self .xdata } , { self .ydata } ) "
@@ -1521,28 +1510,41 @@ def __init__(self, name, canvas, key, x=0, y=0, guiEvent=None):
15211510 super ().__init__ (name , canvas , x , y , guiEvent = guiEvent )
15221511 self .key = key
15231512
1524- def _process (self ):
1525- if self .name == "key_press_event" :
1526- self .canvas ._key = self .key
1527- elif self .name == "key_release_event" :
1528- self .canvas ._key = None
1529- super ()._process ()
15301513
1531-
1532- def _axes_enter_leave_emitter (event ):
1533- last = LocationEvent .lastevent
1534- last_axes = last .inaxes if last is not None else None
1535- if last_axes != event .inaxes :
1536- if last_axes is not None :
1537- try :
1538- last .canvas .callbacks .process ("axes_leave_event" , last )
1539- except Exception :
1540- # The last canvas may already have been torn down.
1541- pass
1542- if event .inaxes is not None :
1543- event .canvas .callbacks .process ("axes_enter_event" , event )
1544- LocationEvent .lastevent = (
1545- None if event .name == "figure_leave_event" else event )
1514+ # Default callback for key events.
1515+ def _key_handler (event ):
1516+ # Dead reckoning of key.
1517+ if event .name == "key_press_event" :
1518+ event .canvas ._key = event .key
1519+ elif event .name == "key_release_event" :
1520+ event .canvas ._key = None
1521+
1522+
1523+ # Default callback for mouse events.
1524+ def _mouse_handler (event ):
1525+ # Dead-reckoning of button and key.
1526+ if event .name == "button_press_event" :
1527+ event .canvas ._button = event .button
1528+ elif event .name == "button_release_event" :
1529+ event .canvas ._button = None
1530+ elif event .name == "motion_notify_event" and event .button is None :
1531+ event .button = event .canvas ._button
1532+ if event .key is None :
1533+ event .key = event .canvas ._key
1534+ # Emit axes_enter/axes_leave.
1535+ if event .name == "motion_notify_event" :
1536+ last = LocationEvent .lastevent
1537+ last_axes = last .inaxes if last is not None else None
1538+ if last_axes != event .inaxes :
1539+ if last_axes is not None :
1540+ try :
1541+ last .canvas .callbacks .process ("axes_leave_event" , last )
1542+ except Exception :
1543+ pass # The last canvas may already have been torn down.
1544+ if event .inaxes is not None :
1545+ event .canvas .callbacks .process ("axes_enter_event" , event )
1546+ LocationEvent .lastevent = (
1547+ None if event .name == "figure_leave_event" else event )
15461548
15471549
15481550def _get_renderer (figure , print_method = None ):
0 commit comments