/*
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 * as tslib_1 from "tslib";
import { Base, markType } from "igniteui-react-core/ES5/type";
import { StringBuilder } from "igniteui-react-core/ES5/StringBuilder";
/**
 * @hidden
 */
var CalloutVisualData = /** @class */ (function (_super) {
    tslib_1.__extends(CalloutVisualData, _super);
    function CalloutVisualData() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this._background = null;
        _this._text = null;
        _this._line = null;
        _this._left = 0;
        _this._top = 0;
        _this._marginLeft = 0;
        _this._marginTop = 0;
        return _this;
    }
    Object.defineProperty(CalloutVisualData.prototype, "background", {
        get: function () {
            return this._background;
        },
        set: function (a) {
            this._background = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CalloutVisualData.prototype, "text", {
        get: function () {
            return this._text;
        },
        set: function (a) {
            this._text = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CalloutVisualData.prototype, "line", {
        get: function () {
            return this._line;
        },
        set: function (a) {
            this._line = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CalloutVisualData.prototype, "left", {
        get: function () {
            return this._left;
        },
        set: function (a) {
            this._left = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CalloutVisualData.prototype, "top", {
        get: function () {
            return this._top;
        },
        set: function (a) {
            this._top = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CalloutVisualData.prototype, "marginLeft", {
        get: function () {
            return this._marginLeft;
        },
        set: function (a) {
            this._marginLeft = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(CalloutVisualData.prototype, "marginTop", {
        get: function () {
            return this._marginTop;
        },
        set: function (a) {
            this._marginTop = a;
        },
        enumerable: true,
        configurable: true
    });
    CalloutVisualData.prototype.serialize = function () {
        var a = new StringBuilder(0);
        a.u("{");
        a.u("left: " + this.left.toString() + ",");
        a.u("top: " + this.top.toString() + ",");
        a.u("marginLeft: " + this.marginLeft.toString() + ",");
        a.u("marginTop: " + this.marginTop.toString() + ",");
        a.u("background: " + this.background.serialize() + ",");
        a.u("text: " + this.text.serialize() + ",");
        a.u("line: " + this.line.serialize());
        a.u("}");
        return a.toString();
    };
    CalloutVisualData.prototype.scaleByViewport = function (a) {
        this.left = (this.left - a.left) / a.width;
        this.top = (this.top - a.top) / a.height;
        this.marginLeft = this.marginLeft / a.width;
        this.marginTop = this.marginTop / a.height;
        this.background.scaleByViewport(a);
        this.line.scaleByViewport(a);
    };
    CalloutVisualData.$t = markType(CalloutVisualData, 'CalloutVisualData');
    return CalloutVisualData;
}(Base));
export { CalloutVisualData };
