PathAndTextVariantsRenderer
Abstract base class for renderers with multiple path variants and text labels
Subclasses just need to define PATH_VARIANTS dictionary with: - "variant_name": { "path": "SVG path data" or ["path1", "path2", ...], "text": "LABEL TEXT", "text_position": (text_x, text_y), "viewbox": original_size, "center": (cx, cy) }
Constructor
PathAndTextVariantsRenderer(variant: str = None) -> None
Initialize multi-path text renderer
Parameters
-
variant - Path variant name. If None, uses first available variant
Methods
get_available_variants
get_available_variants()
Get list of available variants for this renderer
get_current_variant
get_current_variant()
Get the currently selected variant
render
render(
state: State,
drawing: Optional[Drawing] = None
) -> DrawingElement
set_variant
set_variant(variant: str) -> None
Set the current variant
Parameters
-
variant - Path variant name to set
-
Raises -
ValueError - If variant is not available