Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 771664f

Browse files
committed
Merge pull request #3970 from blink1073/add-figure-event-webagg
ENH : Add Figure Enter/Leave Events to Webagg
1 parent 433bf76 commit 771664f

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
@@ -192,7 +192,8 @@ def handle_event(self, event):
192192
pass
193193
elif e_type == 'draw':
194194
self.draw()
195-
elif e_type in ('button_press', 'button_release', 'motion_notify'):
195+
elif e_type in ('button_press', 'button_release', 'motion_notify',
196+
'figure_enter', 'figure_leave'):
196197
x = event['x']
197198
y = event['y']
198199
y = self.get_renderer().height - y
@@ -214,6 +215,10 @@ def handle_event(self, event):
214215
self.button_release_event(x, y, button)
215216
elif e_type == 'motion_notify':
216217
self.motion_notify_event(x, y)
218+
elif e_type == 'figure_enter':
219+
self.enter_notify_event(xy=(x, y))
220+
elif e_type == 'figure_leave':
221+
self.leave_notify_event()
217222
elif e_type in ('key_press', 'key_release'):
218223
key = event['key']
219224

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)