Skip to content

Commit cdb6771

Browse files
committed
Merge pull request #3970 from blink1073/add-figure-event-webagg
ENH : Add Figure Enter/Leave Events to Webagg
2 parents c2c2b4d + 678c807 commit cdb6771

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
@@ -191,7 +191,8 @@ def handle_event(self, event):
191191
pass
192192
elif e_type == 'draw':
193193
self.draw()
194-
elif e_type in ('button_press', 'button_release', 'motion_notify'):
194+
elif e_type in ('button_press', 'button_release', 'motion_notify',
195+
'figure_enter', 'figure_leave'):
195196
x = event['x']
196197
y = event['y']
197198
y = self.get_renderer().height - y
@@ -213,6 +214,10 @@ def handle_event(self, event):
213214
self.button_release_event(x, y, button)
214215
elif e_type == 'motion_notify':
215216
self.motion_notify_event(x, y)
217+
elif e_type == 'figure_enter':
218+
self.enter_notify_event(xy=(x, y))
219+
elif e_type == 'figure_leave':
220+
self.leave_notify_event()
216221
elif e_type in ('key_press', 'key_release'):
217222
key = event['key']
218223

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)