/*
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 { Base, markType } from "./type";
/**
 * @hidden
 */
export let Thickness = /*@__PURE__*/ (() => {
    class Thickness extends Base {
        constructor(a, ..._rest) {
            super();
            this._bottom = 0;
            this._left = 0;
            this._right = 0;
            this._top = 0;
            a = (a == void 0) ? 0 : a;
            switch (a) {
                case 0:
                    {
                        let c = _rest[0];
                        this.bottom = this.left = this.right = this.top = c;
                    }
                    break;
                case 1:
                    {
                        let c = _rest[0];
                        let d = _rest[1];
                        let e = _rest[2];
                        let f = _rest[3];
                        this.left = c;
                        this.top = d;
                        this.right = e;
                        this.bottom = f;
                    }
                    break;
                case 2:
                    {
                        this.bottom = NaN;
                        this.left = NaN;
                        this.right = NaN;
                        this.top = NaN;
                    }
                    break;
            }
        }
        get bottom() {
            return this._bottom;
        }
        set bottom(a) {
            this._bottom = a;
        }
        get left() {
            return this._left;
        }
        set left(a) {
            this._left = a;
        }
        get right() {
            return this._right;
        }
        set right(a) {
            this._right = a;
        }
        get top() {
            return this._top;
        }
        set top(a) {
            this._top = a;
        }
        equals(a) {
            return this.bottom == a.bottom && this.top == a.top && this.left == a.left && this.right == a.right;
        }
        toString() {
            let a = this.left.toString() + "," + this.top.toString() + "," + this.right.toString() + "," + this.bottom.toString();
            return a;
        }
    }
    Thickness.$t = /*@__PURE__*/ markType(Thickness, 'Thickness');
    return Thickness;
})();
//# sourceMappingURL=Thickness.js.map
