/*
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 "igniteui-react-core/ES2015/type";
import { RectData } from "igniteui-react-core/ES2015/RectData";
/**
 * @hidden
 */
export class MarkerVisualData extends Base {
    constructor() {
        super(...arguments);
        this._x = 0;
        this._y = 0;
        this._index = 0;
        this._markerAppearance = null;
        this._markerType = null;
        this._contentTemplate = null;
        this._isVisible = false;
        this._bounds = null;
    }
    get x() {
        return this._x;
    }
    set x(a) {
        this._x = a;
    }
    get y() {
        return this._y;
    }
    set y(a) {
        this._y = a;
    }
    get index() {
        return this._index;
    }
    set index(a) {
        this._index = a;
    }
    get markerAppearance() {
        return this._markerAppearance;
    }
    set markerAppearance(a) {
        this._markerAppearance = a;
    }
    get markerType() {
        return this._markerType;
    }
    set markerType(a) {
        this._markerType = a;
    }
    get contentTemplate() {
        return this._contentTemplate;
    }
    set contentTemplate(a) {
        this._contentTemplate = a;
    }
    get isVisible() {
        return this._isVisible;
    }
    set isVisible(a) {
        this._isVisible = a;
    }
    serialize() {
        return "{ x: " + this.x + ", y: " + this.y + ", index: " + this.index + ", markerAppearance: " + (this.markerAppearance != null ? this.markerAppearance.serialize() : "null") + ", markerType: \"" + this.markerType + "\", isVisible: " + (this.isVisible ? "true" : "false") + ", " + "bounds: { left: " + this.bounds.left + ", top:" + this.bounds.top + ", width:" + this.bounds.width + ", height: " + this.bounds.height + "} }";
    }
    i(a) {
        this.x = (this.x - a.left) / a.width;
        this.y = (this.y - a.top) / a.height;
        if (this.bounds != null) {
            let b = (this.bounds.left - a.left) / a.width;
            let c = (this.bounds.top - a.top) / a.height;
            let d = ((this.bounds.left + this.bounds.width) - a.left) / a.width;
            let e = ((this.bounds.top + this.bounds.height) - a.top) / a.height;
            this.bounds = new RectData(b, c, d - b, e - c);
        }
    }
    get bounds() {
        return this._bounds;
    }
    set bounds(a) {
        this._bounds = a;
    }
}
MarkerVisualData.$t = markType(MarkerVisualData, 'MarkerVisualData');
