SvgDocument.java
package pro.verron.asciidoc.converters.svg;
import java.util.List;
import java.util.Locale;
import static pro.verron.asciidoc.converters.svg.SvgAttribute.attr;
/// SVG document root model ({@code <svg>} element).
///
/// @param width viewport width in pixels
/// @param height viewport height in pixels
/// @param children child elements
public record SvgDocument(int width, int height, List<SvgElement> children)
implements SvgElement {
@Override
public String markup() {
return "svg";
}
@Override
public SvgAttributes attributes() {
var viewbox = String.format(Locale.ROOT, "0 0 %d %d", width, height);
return new SvgAttributes(attr("xmlns", "http://www.w3.org/2000/svg"),
attr("width", String.valueOf(width)),
attr("height", String.valueOf(height)),
attr("viewBox", viewbox));
}
}