class_docstr: Abstract class that serves as a base class for anything that
  draws on a Cairo context within a given bounding box.
  
  A subclass of L{AbstractCairoDrawer} is guaranteed to have an
  attribute named C{context} that represents the Cairo context
  to draw on, and an attribute named C{bbox} for the L{BoundingBox}
  of the drawing area.
docstr: Marks the given point with a small circle on the canvas.
  Used primarily for debugging purposes.
  
  @param x: the X coordinate of the point to mark
  @param y: the Y coordinate of the point to mark
  @param color: the color of the marker. It can be a
    3-tuple (RGB components, alpha=0.5), a 4-tuple
    (RGBA components) or an index where zero means red, 1 means
    green, 2 means blue and so on.
  @param size: the diameter of the marker.
docstr_tok: ["Marks","the","given","point","with","a","small","circle","on","the","canvas",".","Used","primarily","for","debugging","purposes",".","@","param","x",":","the","X","coordinate","of","the","point","to","mark","@","param","y",":","the","Y","coordinate","of","the","point","to","mark","@","param","color",":","the","color","of","the","marker",".","It","can","be","a","3-tuple","(","RGB","components",",","alpha=0.5",")",",","a","4-tuple","(","RGBA","components",")","or","an","index","where","zero","means","red",",","1","means","green",",","2","means","blue","and","so","on",".","@","param","size",":","the","diameter","of","the","marker","."]
code: def _mark_point(
      self,
      x: float,
      y: float,
      color: Union[int, Tuple[float, ...]] = 0,
      size: float = 4,
  ) -> None:
      """Marks the given point with a small circle on the canvas.
      Used primarily for debugging purposes.
  
      @param x: the X coordinate of the point to mark
      @param y: the Y coordinate of the point to mark
      @param color: the color of the marker. It can be a
        3-tuple (RGB components, alpha=0.5), a 4-tuple
        (RGBA components) or an index where zero means red, 1 means
        green, 2 means blue and so on.
      @param size: the diameter of the marker.
      """
      if isinstance(color, int):
          colors = [
              (1, 0, 0),
              (0, 1, 0),
              (0, 0, 1),
              (1, 1, 0),
              (0, 1, 1),
              (1, 0, 1),
          ]
          color_tuple = colors[color % len(colors)]
      elif len(color) == 3:
          color_tuple = color + (0.5,)
      else:
          color_tuple = color
  
      ctx = self.context
      ctx.save()
      ctx.set_source_rgba(*color_tuple)
      ctx.arc(x, y, size / 2.0, 0, 2 * pi)
      ctx.fill()
      ctx.restore()
  
file_path: python-igraph/src/igraph/drawing/cairo/base.py
imports: from math import pi
  from typing import Tuple, Union
  from igraph.drawing.baseclasses import AbstractDrawer
  from igraph.drawing.utils import BoundingBox
label_desc: Use image node_id 4 for calling the AbstractCairoDrawer obj's underlying member method code with example usage: obj._mark_point(x, y, color, size) without return types