/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { __extends } from "tslib";
import { Base, Point_$type, markType } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { DataAnnotationInfo } from "./DataAnnotationInfo";
import { Rect } from "igniteui-angular-core";
/**
 * @hidden
 */
var DataAnnotationItem = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(DataAnnotationItem, _super);
    function DataAnnotationItem() {
        var _this = _super.call(this) || this;
        _this._dataIndex = 0;
        _this._startLabelX = null;
        _this._startLabelY = null;
        _this._endLabelX = null;
        _this._endLabelY = null;
        _this._centerLabelY = null;
        _this._centerLabelX = null;
        _this._shapeStartX = 0;
        _this._shapeStartY = 0;
        _this._shapeEndX = 0;
        _this._shapeEndY = 0;
        _this._shapeCenterX = 0;
        _this._shapeCenterY = 0;
        _this._shapeBrush = null;
        _this._shapeOutline = null;
        _this._shapeThickness = 0;
        _this.a = false;
        _this.b = null;
        _this.c = null;
        _this.h = 0;
        _this.f = 0;
        _this.g = 0;
        _this.d = 0;
        _this.shapeStartX = NaN;
        _this.shapeStartY = NaN;
        _this.shapeCenterX = NaN;
        _this.shapeCenterY = NaN;
        _this.shapeEndX = NaN;
        _this.shapeEndY = NaN;
        _this.shapeThickness = NaN;
        _this.a = true;
        _this.b = new List$1(DataAnnotationInfo.$, 0);
        _this.c = new List$1(DataAnnotationInfo.$, 0);
        _this.dataIndex = 0;
        return _this;
    }
    Object.defineProperty(DataAnnotationItem.prototype, "dataIndex", {
        get: function () {
            return this._dataIndex;
        },
        set: function (a) {
            this._dataIndex = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "startLabelX", {
        get: function () {
            return this._startLabelX;
        },
        set: function (a) {
            this._startLabelX = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "startLabelY", {
        get: function () {
            return this._startLabelY;
        },
        set: function (a) {
            this._startLabelY = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "endLabelX", {
        get: function () {
            return this._endLabelX;
        },
        set: function (a) {
            this._endLabelX = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "endLabelY", {
        get: function () {
            return this._endLabelY;
        },
        set: function (a) {
            this._endLabelY = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "centerLabelY", {
        get: function () {
            return this._centerLabelY;
        },
        set: function (a) {
            this._centerLabelY = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "centerLabelX", {
        get: function () {
            return this._centerLabelX;
        },
        set: function (a) {
            this._centerLabelX = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeStartX", {
        get: function () {
            return this._shapeStartX;
        },
        set: function (a) {
            this._shapeStartX = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeStartY", {
        get: function () {
            return this._shapeStartY;
        },
        set: function (a) {
            this._shapeStartY = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeEndX", {
        get: function () {
            return this._shapeEndX;
        },
        set: function (a) {
            this._shapeEndX = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeEndY", {
        get: function () {
            return this._shapeEndY;
        },
        set: function (a) {
            this._shapeEndY = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeCenterX", {
        get: function () {
            return this._shapeCenterX;
        },
        set: function (a) {
            this._shapeCenterX = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeCenterY", {
        get: function () {
            return this._shapeCenterY;
        },
        set: function (a) {
            this._shapeCenterY = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "z", {
        get: function () {
            return { $type: Point_$type, x: this.shapeCenterX, y: this.shapeCenterY };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "ab", {
        get: function () {
            return { $type: Point_$type, x: this.shapeStartX, y: this.shapeStartY };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "aa", {
        get: function () {
            return { $type: Point_$type, x: this.shapeEndX, y: this.shapeEndY };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeBrush", {
        get: function () {
            return this._shapeBrush;
        },
        set: function (a) {
            this._shapeBrush = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeOutline", {
        get: function () {
            return this._shapeOutline;
        },
        set: function (a) {
            this._shapeOutline = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "shapeThickness", {
        get: function () {
            return this._shapeThickness;
        },
        set: function (a) {
            this._shapeThickness = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "i", {
        get: function () {
            return this.g - this.f;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "e", {
        get: function () {
            return this.d - this.h;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataAnnotationItem.prototype, "ac", {
        get: function () {
            return new Rect(0, this.f, this.h, this.i, this.e);
        },
        enumerable: false,
        configurable: true
    });
    DataAnnotationItem.$t = markType(DataAnnotationItem, 'DataAnnotationItem');
    return DataAnnotationItem;
}(Base));
export { DataAnnotationItem };
