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","."]
docstr: update marker colors, and highlight a marker with a given color 
docstr_tok: ["update","marker","colors",",","and","highlight","a","marker","with","a","given","color"]
code: def update_markers(
      self, selected_index=-1, highlight_color=(1, 0, 0, 1)
  ):
      """update marker colors, and highlight a marker with a given color"""
      self.marker_colors.fill(1)
      # default shape (non-highlighted)
      shape = "o"
      size = 6
      if 0 <= selected_index < len(self.marker_colors):
          self.marker_colors[selected_index] = highlight_color
          # if there is a highlighted marker,
          # change all marker shapes to a square
          shape = "s"
          size = 8
      self.markers.set_data(
          pos=self.pos,
          symbol=shape,
          edge_color="red",
          size=size,
          face_color=self.marker_colors,
      )
  
file_path: vispy/examples/basics/visuals/line_draw.py
imports: import numpy
  from vispy import app, scene
label_desc: Use image node_id 5 for calling the EditLineVisual obj's underlying member method code with example usage: obj.update_markers(selected_index, highlight_color) without return types