Skip to content

Commit 678c807

Browse files
committed
Add figure enter/leave events to webagg
1 parent ab549ac commit 678c807

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/matplotlib/backends/backend_webagg_core.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,8 @@ def handle_event(self, event):
190190
pass
191191
elif e_type == 'draw':
192192
self.draw()
193-
elif e_type in ('button_press', 'button_release', 'motion_notify'):
193+
elif e_type in ('button_press', 'button_release', 'motion_notify',
194+
'figure_enter', 'figure_leave'):
194195
x = event['x']
195196
y = event['y']
196197
y = self.get_renderer().height - y
@@ -212,6 +213,10 @@ def handle_event(self, event):
212213
self.button_release_event(x, y, button)
213214
elif e_type == 'motion_notify':
214215
self.motion_notify_event(x, y)
216+
elif e_type == 'figure_enter':
217+
self.enter_notify_event(xy=(x, y))
218+
elif e_type == 'figure_leave':
219+
self.leave_notify_event()
215220
elif e_type in ('key_press', 'key_release'):
216221
key = event['key']
217222

lib/matplotlib/backends/web_backend/mpl.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ mpl.figure.prototype._init_canvas = function() {
125125
// Throttle sequential mouse events to 1 every 20ms.
126126
rubberband.mousemove('motion_notify', mouse_event_fn);
127127

128+
rubberband.mouseenter('figure_enter', mouse_event_fn);
129+
rubberband.mouseleave('figure_leave', mouse_event_fn);
130+
128131
canvas_div.append(canvas);
129132
canvas_div.append(rubberband);
130133

0 commit comments

Comments
 (0)