/*
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, Point_$type, EnumUtil, markType } from "igniteui-angular-core";
import { IDataChartVisualDataManager_$type } from "./IDataChartVisualDataManager";
import { ChartVisualData } from "./ChartVisualData";
import { RectData } from "igniteui-angular-core";
import { VisualExportHelper } from "./VisualExportHelper";
import { ChartTitleVisualData } from "./ChartTitleVisualData";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { AppearanceHelper } from "igniteui-angular-core";
import { FontUtil } from "igniteui-angular-core";
/**
 * @hidden
 */
export let DataChartVisualDataManager = /*@__PURE__*/ (() => {
    class DataChartVisualDataManager extends Base {
        exportVisualData(a) {
            let b = new ChartVisualData();
            for (let c = 0; c < a.axes.count; c++) {
                let d = a.axes._inner[c].fv();
                b.axes.add1(d);
            }
            for (let e = 0; e < a.series.count; e++) {
                let f = a.series._inner[e].hu();
                b.series.add1(f);
            }
            b.name = a.name;
            this.b(a, b);
            this.c(a, b);
            return b;
        }
        c(a, b) {
            let c = a.cu;
            b.width = c.a8;
            b.height = c.a7;
            b.contentArea = RectData.b(c.fc());
            b.centralArea = new RectData(c.a4, 0, c.a8 - (c.a4 + c.a5), c.a7 - (c.a6 + c.a3));
            b.plotArea = RectData.b(a.to);
        }
        d(a, b) {
            let c = VisualExportHelper.a(a);
            return c;
        }
        b(a, b) {
            let c = a.cu;
            let d = null;
            b.title = null;
            b.subtitle = null;
            let e = c.fm();
            let f = 0;
            let g = 0;
            if (c.ew != null) {
                d = c.v();
                let h = this.a(c, c.ew, d);
                let i = { $type: Point_$type, x: 0, y: 0 };
                g = c.ew.l + e.bottom + e.top;
                let j = new ChartTitleVisualData();
                let k = c.fc();
                j.viewport = new RectData(k.left, k.top, k.width, g);
                j.textPlotArea = RectData.b(this.d(c.ew, a));
                j.textPlotArea = new RectData(c.ew.n, c.ew.o, c.ew.m, c.ew.l);
                f = j.height;
                j.appearance = AppearanceHelper.c(c.ew, h);
                let l = c.fm();
                j.appearance.marginTop = l.top;
                j.appearance.marginLeft = l.left;
                j.appearance.marginRight = l.right;
                j.appearance.marginBottom = l.bottom;
                let m = c.ey();
                j.appearance.horizontalAlignment = EnumUtil.getName(HorizontalAlignment_$type, m);
                b.title = j;
            }
            if (c.ev != null) {
                d = c.u();
                let n = this.a(c, c.ev, d);
                let o = { $type: Point_$type, x: 0, y: f };
                let p = c.fl();
                let q = c.ev.l + p.bottom + p.top;
                let r = new ChartTitleVisualData();
                let s = c.fc();
                r.viewport = new RectData(s.left, s.top + g, s.width, q);
                r.textPlotArea = RectData.b(this.d(c.ev, a));
                r.appearance = AppearanceHelper.c(c.ev, n);
                let t = c.fl();
                r.appearance.marginTop = t.top;
                r.appearance.marginLeft = t.left;
                r.appearance.marginRight = t.right;
                r.appearance.marginBottom = t.bottom;
                let u = c.ex();
                r.appearance.horizontalAlignment = EnumUtil.getName(HorizontalAlignment_$type, u);
                b.subtitle = r;
            }
        }
        a(a, b, c) {
            return FontUtil.getFontInfo(a.j.ae, b, c);
        }
    }
    DataChartVisualDataManager.$t = markType(DataChartVisualDataManager, 'DataChartVisualDataManager', Base.$, [IDataChartVisualDataManager_$type]);
    return DataChartVisualDataManager;
})();
