Callback for mouse button press in pan/zoom mode.
(self, event)
| 3191 | _PanInfo = namedtuple("_PanInfo", "button axes cid") |
| 3192 | |
| 3193 | def press_pan(self, event): |
| 3194 | """Callback for mouse button press in pan/zoom mode.""" |
| 3195 | if (event.button not in [MouseButton.LEFT, MouseButton.RIGHT] |
| 3196 | or event.x is None or event.y is None): |
| 3197 | return |
| 3198 | |
| 3199 | axes = self._start_event_axes_interaction(event, method="pan") |
| 3200 | if not axes: |
| 3201 | return |
| 3202 | |
| 3203 | # call "ax.start_pan(..)" on all relevant axes of an event |
| 3204 | for ax in axes: |
| 3205 | ax.start_pan(event.x, event.y, event.button) |
| 3206 | |
| 3207 | self.canvas.mpl_disconnect(self._id_drag) |
| 3208 | id_drag = self.canvas.mpl_connect("motion_notify_event", self.drag_pan) |
| 3209 | |
| 3210 | self._pan_info = self._PanInfo( |
| 3211 | button=event.button, axes=axes, cid=id_drag) |
| 3212 | |
| 3213 | def drag_pan(self, event): |
| 3214 | """Callback for dragging in pan/zoom mode.""" |