TextPathState

State for text rendered as SVG paths.

Similar to TextState but renders text as <path> elements instead of <text>. This eliminates font hinting artifacts during animation/transformation, giving smooth scaling and rotation. Requires a font file path (TTF or OTF) instead of a font family name.

Constructor

TextPathState(
    pos: Point2D | None = None,
    scale: float | None = None,
    opacity: float | None = None,
    rotation: float | None = None,
    skew_x: float | None = None,
    skew_y: float | None = None,
    z_index: float = 0.0,
    clip_state: State | None = None,
    mask_state: State | None = None,
    clip_states: List[State] | None = None,
    mask_states: List[State] | None = None,
    filter: Filter | None = None,
    NON_INTERPOLATABLE_FIELDS: frozenset[str] = frozenset({'NON_INTERPOLATABLE_FIELDS'}),
    fill_color: Optional[Color] = Color.NONE,
    fill_opacity: float = 1,
    fill_gradient: Optional[Gradient] = None,
    fill_pattern: Optional[Pattern] = None,
    stroke_color: Optional[Color] = Color.NONE,
    stroke_opacity: float = 1,
    stroke_width: float = 1,
    stroke_gradient: Optional[Gradient] = None,
    stroke_pattern: Optional[Pattern] = None,
    text: Union[str, List[str]] = '',
    font_path: str = '',
    font_size: float = 16,
    text_anchor: str = 'middle',
    dominant_baseline: str = 'central'
) -> None

Methods

get_renderer_class

get_renderer_class()

Get the renderer class for this state.

Returns

The renderer class for this state, or None if not registered

get_vertex_renderer_class

get_vertex_renderer_class()

Get the vertex renderer class for morphing transitions.

is_angle

is_angle(field: Field) -> bool

need_morph

need_morph(state)

with_x

with_x(x: float) -> State

with_y

with_y(y: float) -> State

Properties

x
y