class_docstr: Mouse editing extension to the Line visual.
  This class adds mouse picking for line points, mouse_move handling for
  dragging existing points, and
  adding new points when clicking into empty space.
class_docstr_tok: ["Mouse","editing","extension","to","the","Line","visual",".","This","class","adds","mouse","picking","for","line","points",",","mouse_move","handling","for","dragging","existing","points",",","and","adding","new","points","when","clicking","into","empty","space","."]
code: def on_mouse_move(self, pos_scene):
      if self.selected_point is not None:
          # update selected point to new position given by mouse
          self.selected_point[0] = (
              round(pos_scene[0] / self.gridsize) * self.gridsize
          )
          self.selected_point[1] = (
              round(pos_scene[1] / self.gridsize) * self.gridsize
          )
          self.set_data(pos=self.pos)
          self.update_markers(self.selected_index)
  
file_path: vispy/examples/basics/visuals/line_draw.py
imports: import numpy
  from vispy import app, scene
label_desc: Use image node_id 8 for calling the EditLineVisual obj's underlying member method code with example usage: obj.on_mouse_move(pos_scene) without return types