SvgUse.fromXml constructor
SvgUse.fromXml(
- XmlElement element,
- SvgPainter painter,
- SvgBrush brush
Implementation
factory SvgUse.fromXml(
XmlElement element,
SvgPainter painter,
SvgBrush brush,
) {
final _brush = SvgBrush.fromXml(element, brush, painter);
final width =
SvgParser.getNumeric(element, 'width', _brush, defaultValue: 0)!
.sizeValue;
final height =
SvgParser.getNumeric(element, 'height', _brush, defaultValue: 0)!
.sizeValue;
final x =
SvgParser.getNumeric(element, 'x', _brush, defaultValue: 0)!.sizeValue;
final y =
SvgParser.getNumeric(element, 'y', _brush, defaultValue: 0)!.sizeValue;
SvgOperation? href;
final hrefAttr = element.getAttribute('href') ??
element.getAttribute('href', namespace: 'http://www.w3.org/1999/xlink');
if (hrefAttr != null) {
final hrefElement = painter.parser.findById(hrefAttr.substring(1));
if (hrefElement != null) {
href = SvgOperation.fromXml(hrefElement, painter, _brush);
}
}
return SvgUse(
x,
y,
width,
height,
href,
_brush,
SvgClipPath.fromXml(element, painter, _brush),
SvgTransform.fromXml(element),
painter,
);
}