/*
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";
import { PrimitiveAppearanceData } from "igniteui-react-core/ES2015/PrimitiveAppearanceData";
import { StringBuilder } from "igniteui-react-core/ES2015/StringBuilder";
/**
 * @hidden
 */
export class LegendItemVisualData extends Base {
    constructor() {
        super();
        this._label = null;
        this._labelBounds = null;
        this._appearance = null;
        this._labelAppearance = null;
        this._bounds = null;
        this._badgeBounds = null;
        this.labelBounds = RectData.empty;
        this.appearance = new PrimitiveAppearanceData();
    }
    get label() {
        return this._label;
    }
    set label(a) {
        this._label = a;
    }
    get labelBounds() {
        return this._labelBounds;
    }
    set labelBounds(a) {
        this._labelBounds = a;
    }
    get appearance() {
        return this._appearance;
    }
    set appearance(a) {
        this._appearance = a;
    }
    get labelAppearance() {
        return this._labelAppearance;
    }
    set labelAppearance(a) {
        this._labelAppearance = a;
    }
    get bounds() {
        return this._bounds;
    }
    set bounds(a) {
        this._bounds = a;
    }
    get badgeBounds() {
        return this._badgeBounds;
    }
    set badgeBounds(a) {
        this._badgeBounds = a;
    }
    serialize() {
        let a = new StringBuilder(0);
        a.u("{");
        if (this.label != null) {
            a.u("label: \"" + this.label + "\", ");
        }
        if (this.appearance != null) {
            a.u("appearance: " + this.appearance.serialize() + ", ");
        }
        if (this.labelAppearance != null) {
            a.u("labelAppearance: " + this.labelAppearance.serialize() + ", ");
        }
        let b = (c) => "{ left: " + c.left + ", top: " + c.top + ", width: " + c.width + ", height: " + c.height + "}";
        a.q("bounds: {0},\r\n", b(this.bounds));
        a.q("badgeBounds: {0},\r\n", b(this.badgeBounds));
        a.q("labelBounds: {0}\r\n", b(this.labelBounds));
        a.u("}");
        return a.toString();
    }
}
LegendItemVisualData.$t = markType(LegendItemVisualData, 'LegendItemVisualData');
