| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files/MySQL/MySQL Shell 8.0/lib/Python3.13/Lib/site-packages/svg/ |
Upload File : |
from __future__ import annotations
from dataclasses import dataclass
from ._types import Number
class Transform:
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform
"""
pass
@dataclass
class Matrix(Transform):
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#matrix
"""
a: Number
b: Number
c: Number
d: Number
e: Number
f: Number
def __str__(self):
return f'matrix({self.a} {self.b} {self.c} {self.d} {self.e} {self.f})'
@dataclass
class Translate(Transform):
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#translate
"""
x: Number
y: Number | None = None
def __str__(self):
if self.y is None:
return f'translate({self.x})'
return f'translate({self.x} {self.y})'
@dataclass
class Scale(Transform):
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#scale
"""
x: Number
y: Number | None = None
def __str__(self):
if self.y is None:
return f'scale({self.x})'
return f'scale({self.x} {self.y})'
@dataclass
class Rotate(Transform):
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#rotate
"""
a: Number
x: Number | None = None
y: Number | None = None
def __str__(self):
if self.x is None:
return f'rotate({self.a})'
assert self.y is not None
return f'rotate({self.a} {self.x} {self.y})'
@dataclass
class SkewX(Transform):
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#skewx
"""
a: Number
def __str__(self):
return f'skewX({self.a})'
@dataclass
class SkewY(Transform):
"""
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#skewy
"""
a: Number
def __str__(self):
return f'skewY({self.a})'