svg-engine
Version:
Create SVG files in Node.js
55 lines • 1.7 kB
JavaScript
import { SVGInstance } from "../../browser/instance/SVGInstance.js";
//-- Mixins
import { applyMixins } from "../mixins/index.js";
// Presentation attributes
import { Color } from "../mixins/presentation-attributes/color.js";
import { Display } from "../mixins/presentation-attributes/display.js";
import { Fill } from "../mixins/presentation-attributes/fill.js";
import { Opacity } from "../mixins/presentation-attributes/opacity.js";
import { Stroke } from "../mixins/presentation-attributes/stroke.js";
import { VectorEffect } from "../mixins/presentation-attributes/vectorEffect.js";
import { Visibility } from "../mixins/presentation-attributes/visibility.js";
//-- Class
export class SVGLineInstance extends SVGInstance {
constructor(_parent) {
super("line", _parent);
}
x1(x1) {
if (typeof x1 === "string" || typeof x1 === "number") {
this.attr("x1", x1);
return this;
}
return this.attr("x1");
}
y1(y1) {
if (typeof y1 === "string" || typeof y1 === "number") {
this.attr("y1", y1);
return this;
}
return this.attr("y1");
}
x2(x2) {
if (typeof x2 === "string" || typeof x2 === "number") {
this.attr("x2", x2);
return this;
}
return this.attr("x2");
}
y2(y2) {
if (typeof y2 === "string" || typeof y2 === "number") {
this.attr("y2", y2);
return this;
}
return this.attr("y2");
}
}
applyMixins(SVGLineInstance, [
Color,
Display,
Fill,
Opacity,
Stroke,
VectorEffect,
Visibility
]);
//# sourceMappingURL=SVGLineInstance.js.map