Source code for ladybug_display.svg.textpath

"""SVG TextPath class."""
from ._types import _number, _number_or_length, _str, _str_enum
from .element import Element, _TextElement, \
    LENGTH_ADJUSTS, WRITING_MODES, LINECAPS, LINEJOINS, FILL_RULES


[docs] class TextPath(Element, _TextElement): """ https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath """ LENGTH_ADJUSTS = LENGTH_ADJUSTS WRITING_MODES = WRITING_MODES LINECAPS = LINECAPS LINEJOINS = LINEJOINS FILL_RULES = FILL_RULES METHODS = set(('align', 'stretch')) SPACINGS = set(('auto', 'exact')) SIDES = set(('left', 'right')) ALIGNMENTS = set(('baseline', 'top', 'before-edge', 'text-top', 'text-before-edge', 'middle', 'bottom', 'after-edge', 'text-bottom', 'text-after-edge', 'ideographic', 'lower', 'hanging', 'mathematical', 'inherit')) SHIFTS = set(('baseline', 'sub', 'super', 'inherit')) element_name = 'textPath' def __init__(self, externalResourcesRequired=None, startOffset=None, textLength=None, lengthAdjust=None, method=None, spacing=None, href=None, path=None, side=None, writing_mode=None, alignment_baseline=None, baseline_shift=None, stroke_linecap=None, stroke_linejoin=None, stroke_miterlimit=None, fill_rule=None, opacity=None): super(TextPath, self).__init__() self.externalResourcesRequired = externalResourcesRequired self.startOffset = startOffset self.textLength = textLength self.lengthAdjust = lengthAdjust self.method = method self.spacing = spacing self.href = href self.path = path self.side = side self.writing_mode = writing_mode self.alignment_baseline = alignment_baseline self.baseline_shift = baseline_shift self.stroke_linecap = stroke_linecap self.stroke_linejoin = stroke_linejoin self.stroke_miterlimit = stroke_miterlimit self.fill_rule = fill_rule self.opacity = opacity @property def externalResourcesRequired(self): """[bool]""" return self._externalResourcesRequired @externalResourcesRequired.setter def externalResourcesRequired(self, value): self._externalResourcesRequired = bool(value) if value is not None else None @property def startOffset(self): """[str] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/startOffset """ return self._startOffset @startOffset.setter def startOffset(self, value): self._startOffset = _str(value, 'startOffset', True) @property def textLength(self): """[number or length] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/textLength """ return self._textLength @textLength.setter def textLength(self, value): self._textLength = _number_or_length(value, 'rx', True) @property def lengthAdjust(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lengthAdjust """ return self._lengthAdjust @lengthAdjust.setter def lengthAdjust(self, value): self._lengthAdjust = _str_enum(value, LENGTH_ADJUSTS, 'lengthAdjust', True) @property def method(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/method """ return self._method @method.setter def method(self, value): self._method = _str_enum(value, self.METHODS, 'method', True) @property def spacing(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/spacing """ return self._spacing @spacing.setter def spacing(self, value): self._spacing = _str_enum(value, self.SPACINGS, 'spacing', True) @property def href(self): """[str] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/href """ return self._href @href.setter def href(self, value): self._href = _str(value, 'href', True) @property def path(self): """[str] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/path """ return self._path @path.setter def path(self, value): self._path = _str(value, 'path', True) @property def side(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/side """ return self._side @side.setter def side(self, value): self._side = _str_enum(value, self.SIDES, 'side', True) @property def writing_mode(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/writing-mode """ return self._writing_mode @writing_mode.setter def writing_mode(self, value): self._writing_mode = _str_enum(value, WRITING_MODES, 'writing_mode', True) @property def alignment_baseline(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alignment-baseline """ return self._alignment_baseline @alignment_baseline.setter def alignment_baseline(self, value): self._alignment_baseline = \ _str_enum(value, self.ALIGNMENTS, 'alignment_baseline', True) @property def baseline_shift(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseline-shift """ return self._baseline_shift @baseline_shift.setter def baseline_shift(self, value): self._baseline_shift = _str_enum(value, self.SHIFTS, 'baseline_shift', True) @property def stroke_linecap(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap """ return self._stroke_linecap @stroke_linecap.setter def stroke_linecap(self, value): self._stroke_linecap = _str_enum(value, LINECAPS, 'stroke_linecap', True) @property def stroke_linejoin(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linejoin """ return self._stroke_linejoin @stroke_linejoin.setter def stroke_linejoin(self, value): self._stroke_linejoin = _str_enum(value, LINEJOINS, 'stroke_linejoin', True) @property def stroke_miterlimit(self): """[number] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit """ return self._stroke_miterlimit @stroke_miterlimit.setter def stroke_miterlimit(self, value): self._stroke_miterlimit = _number(value, 'stroke_miterlimit', True) @property def fill_rule(self): """[str enum] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule """ return self._fill_rule @fill_rule.setter def fill_rule(self, value): self._fill_rule = _str_enum(value, FILL_RULES, 'fill_rule', True) @property def opacity(self): """[number] https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/opacity """ return self._opacity @opacity.setter def opacity(self, value): self._opacity = _number(value, 'opacity', True)