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