class_docstr: Static class that finds the object/backend drawer
  
  This directory is used by the __plot__ functions.
class_docstr_tok: ["Static","class","that","finds","the","object\/backend","drawer","This","directory","is","used","by","the","__plot__","functions","."]
docstr: Given a shape name, returns the corresponding shape drawer class
  
  @param cls: the class to resolve
  @param obj: an instance of the object to plot
  @param backend: the name of the backend
  @return: the corresponding shape drawer class
  
  @raise ValueError: if no drawer is available for this backend/object
docstr_tok: ["Given","a","shape","name",",","returns","the","corresponding","shape","drawer","class","@","param","cls",":","the","class","to","resolve","@","param","obj",":","an","instance","of","the","object","to","plot","@","param","backend",":","the","name","of","the","backend","@","return",":","the","corresponding","shape","drawer","class","@","raise","ValueError",":","if","no","drawer","is","available","for","this","backend\/object"]
code: def resolve(cls, obj, backend):
      """Given a shape name, returns the corresponding shape drawer class
  
      @param cls: the class to resolve
      @param obj: an instance of the object to plot
      @param backend: the name of the backend
      @return: the corresponding shape drawer class
  
      @raise ValueError: if no drawer is available for this backend/object
      """
      object_name = str(obj.__class__).split(".")[-1].strip("<'>")
  
      try:
          return cls.known_drawers[backend][object_name]
      except KeyError:
          raise ValueError(
              f"unknown drawer for {object_name} and backend {backend}",
          ) from None
  
imports: from pathlib import Path
  from warnings import warn
  from igraph.configuration import Configuration
  from igraph.drawing.cairo.utils import find_cairo
  from igraph.drawing.matplotlib.utils import find_matplotlib
  from igraph.drawing.plotly.utils import find_plotly
  from igraph.drawing.cairo.plot import CairoPlot
  from igraph.drawing.colors import Palette, palettes
  from igraph.drawing.cairo.graph import CairoGraphDrawer
  from igraph.drawing.cairo.matrix import CairoMatrixDrawer
  from igraph.drawing.cairo.histogram import CairoHistogramDrawer
  from igraph.drawing.cairo.palette import CairoPaletteDrawer
  from igraph.drawing.matplotlib.graph import MatplotlibGraphDrawer
  from igraph.drawing.matplotlib.matrix import MatplotlibMatrixDrawer
  from igraph.drawing.matplotlib.histogram import MatplotlibHistogramDrawer
  from igraph.drawing.matplotlib.palette import MatplotlibPaletteDrawer
  from igraph.drawing.plotly.graph import PlotlyGraphDrawer
  from igraph.drawing.utils import BoundingBox, Point, Rectangle
  from igraph.utils import _is_running_in_ipython
label_desc: Use image node_id 1 for calling the DrawerDirectory obj's underlying member method code with example usage: obj.resolve(cls, obj, backend) and returns: cls