class_docstr: wxPython backend for Canvas abstract class.
class_docstr_tok: ["wxPython","backend","for","Canvas","abstract","class","."]
code: def on_mouse_event(self, evt):
      if self._vispy_canvas is None:
          return
      pos = (evt.GetX(), evt.GetY())
      mods = _get_mods(evt)
      if evt.GetWheelRotation() != 0:
          delta = (0.0, float(evt.GetWheelRotation()) / 120.0)
          self._vispy_canvas.events.mouse_wheel(
              delta=delta, pos=pos, modifiers=mods
          )
      elif evt.Moving() or evt.Dragging():  # mouse move event
          self._vispy_mouse_move(pos=pos, modifiers=mods)
      elif evt.ButtonDown():
          if evt.LeftDown():
              button = 1
          elif evt.MiddleDown():
              button = 3
          elif evt.RightDown():
              button = 2
          else:
              evt.Skip()
          self._vispy_mouse_press(
              pos=pos, button=button, modifiers=mods
          )
      elif evt.ButtonUp():
          if evt.LeftUp():
              button = 1
          elif evt.MiddleUp():
              button = 3
          elif evt.RightUp():
              button = 2
          else:
              evt.Skip()
          self._vispy_mouse_release(
              pos=pos, button=button, modifiers=mods
          )
      elif evt.ButtonDClick():
          if evt.LeftDClick():
              button = 1
          elif evt.MiddleDClick():
              button = 3
          elif evt.RightDClick():
              button = 2
          else:
              evt.Skip()
          self._vispy_mouse_press(
              pos=pos, button=button, modifiers=mods
          )
          self._vispy_mouse_double_click(
              pos=pos, button=button, modifiers=mods
          )
      evt.Skip()
  
imports: from __future__ import division
  from time import sleep
  import gc
  import warnings
  from ..base import BaseApplicationBackend, BaseCanvasBackend, BaseTimerBackend
  from ...util import keys, logger
  from ...util.ptime import time
  from ...None import config
label_desc: Use image node_id 20 for calling the CanvasBackend obj's underlying member method code with example usage: obj.on_mouse_event(evt) without return types