code: def on_mouse_move(self, event):
      if not self._button:
          return
      w, h = self.size
      x, y = event.pos
      sx = 2 * x / float(w) - 1.0
      sy = -(2 * y / float(h) - 1.0)
  
      if self._button == 1:
          self.target["position"][:] = sx, sy, 0
      elif self._button == 2:
          self.predator["position"][:] = sx, sy, 0
  
file_path: vispy/examples/demo/gloo/boids.py
imports: import time
  import numpy
  from scipy.spatial import cKDTree
  from vispy import gloo
  from vispy import app
label_desc: Use image node_id 5 for calling the Canvas obj's underlying member method code with example usage: obj.on_mouse_move(event) without return types