class_docstr: Abstract base class for graph drawers that draw on a Cairo canvas.
class_docstr_tok: ["Abstract","base","class","for","graph","drawers","that","draw","on","a","Cairo","canvas","."]
docstr: Constructs the graph drawer and associates it to the given
  Cairo context and the given L{BoundingBox}.
  
  @param context: the context on which we will draw
  @param bbox:    the bounding box within which we will draw.
                  Can be anything accepted by the constructor
                  of L{BoundingBox} (i.e., a 2-tuple, a 4-tuple
                  or a L{BoundingBox} object).
docstr_tok: ["Constructs","the","graph","drawer","and","associates","it","to","the","given","Cairo","context","and","the","given","L","{","BoundingBox","}",".","@","param","context",":","the","context","on","which","we","will","draw","@","param","bbox",":","the","bounding","box","within","which","we","will","draw",".","Can","be","anything","accepted","by","the","constructor","of","L","{","BoundingBox","}","(","i.e.",",","a","2-tuple",",","a","4-tuple","or","a","L","{","BoundingBox","}","object",")","."]
code: def __init__(self, context, bbox):
      """Constructs the graph drawer and associates it to the given
      Cairo context and the given L{BoundingBox}.
  
      @param context: the context on which we will draw
      @param bbox:    the bounding box within which we will draw.
                      Can be anything accepted by the constructor
                      of L{BoundingBox} (i.e., a 2-tuple, a 4-tuple
                      or a L{BoundingBox} object).
      """
      AbstractCairoDrawer.__init__(self, context, bbox)
      AbstractGraphDrawer.__init__(self)
  
imports: from math import atan2, cos, pi, sin, tan
  from warnings import warn
  from igraph._igraph import convex_hull, VertexSeq
  from igraph.configuration import Configuration
  from igraph.drawing.baseclasses import AbstractGraphDrawer
  from igraph.drawing.text import TextAlignment
  from igraph.drawing.utils import Point
  from .base import AbstractCairoDrawer
  from .edge import CairoArrowEdgeDrawer
  from .polygon import CairoPolygonDrawer
  from .text import CairoTextDrawer
  from .utils import find_cairo
  from .vertex import CairoVertexDrawer
label_desc: Use image node_id 1 to create a new AbstractCairoGraphDrawer object from inherited base classes: AbstractGraphDrawer, AbstractCairoDrawer with example: obj = AbstractCairoGraphDrawer(context, bbox)