"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SVGLineInstance = void 0;
const SVGInstance_js_1 = require("../../browser/instance/SVGInstance.js");
//-- Mixins
const index_js_1 = require("../mixins/index.js");
// Presentation attributes
const color_js_1 = require("../mixins/presentation-attributes/color.js");
const display_js_1 = require("../mixins/presentation-attributes/display.js");
const fill_js_1 = require("../mixins/presentation-attributes/fill.js");
const opacity_js_1 = require("../mixins/presentation-attributes/opacity.js");
const stroke_js_1 = require("../mixins/presentation-attributes/stroke.js");
const vectorEffect_js_1 = require("../mixins/presentation-attributes/vectorEffect.js");
const visibility_js_1 = require("../mixins/presentation-attributes/visibility.js");
//-- Class
class SVGLineInstance extends SVGInstance_js_1.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");
    }
}
exports.SVGLineInstance = SVGLineInstance;
(0, index_js_1.applyMixins)(SVGLineInstance, [
    color_js_1.Color,
    display_js_1.Display,
    fill_js_1.Fill,
    opacity_js_1.Opacity,
    stroke_js_1.Stroke,
    vectorEffect_js_1.VectorEffect,
    visibility_js_1.Visibility
]);
//# sourceMappingURL=SVGLineInstance.js.map