/*
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 { __extends } from "tslib";
import { Base, Point_$type, EnumUtil, markType } from "igniteui-react-core";
import { IDataChartVisualDataManager_$type } from "./IDataChartVisualDataManager";
import { ChartVisualData } from "./ChartVisualData";
import { RectData } from "igniteui-react-core";
import { VisualExportHelper } from "./VisualExportHelper";
import { ChartTitleVisualData } from "./ChartTitleVisualData";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { AppearanceHelper } from "igniteui-react-core";
import { FontUtil } from "igniteui-react-core";
/**
 * @hidden
 */
var DataChartVisualDataManager = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(DataChartVisualDataManager, _super);
    function DataChartVisualDataManager() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    DataChartVisualDataManager.prototype.exportVisualData = function (a) {
        var b = new ChartVisualData();
        for (var c = 0; c < a.axes.count; c++) {
            var d = a.axes._inner[c].fw();
            b.axes.add1(d);
        }
        for (var e = 0; e < a.series.count; e++) {
            var f = a.series._inner[e].jq();
            b.series.add1(f);
        }
        b.name = a.name;
        this.b(a, b);
        this.c(a, b);
        return b;
    };
    DataChartVisualDataManager.prototype.c = function (a, b) {
        var c = a.cv;
        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.t2);
    };
    DataChartVisualDataManager.prototype.d = function (a, b) {
        var c = VisualExportHelper.a(a);
        return c;
    };
    DataChartVisualDataManager.prototype.b = function (a, b) {
        var c = a.cv;
        var d = null;
        b.title = null;
        b.subtitle = null;
        var e = c.fm();
        var f = 0;
        var g = 0;
        if (c.ew != null) {
            d = c.v();
            var h = this.a(c, c.ew, d);
            var i = { $type: Point_$type, x: 0, y: 0 };
            g = c.ew.l + e.bottom + e.top;
            var j = new ChartTitleVisualData();
            var 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);
            var l = c.fm();
            j.appearance.marginTop = l.top;
            j.appearance.marginLeft = l.left;
            j.appearance.marginRight = l.right;
            j.appearance.marginBottom = l.bottom;
            var m = c.ey();
            j.appearance.horizontalAlignment = EnumUtil.getName(HorizontalAlignment_$type, m);
            b.title = j;
        }
        if (c.ev != null) {
            d = c.u();
            var n = this.a(c, c.ev, d);
            var o = { $type: Point_$type, x: 0, y: f };
            var p = c.fl();
            var q = c.ev.l + p.bottom + p.top;
            var r = new ChartTitleVisualData();
            var 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);
            var t = c.fl();
            r.appearance.marginTop = t.top;
            r.appearance.marginLeft = t.left;
            r.appearance.marginRight = t.right;
            r.appearance.marginBottom = t.bottom;
            var u = c.ex();
            r.appearance.horizontalAlignment = EnumUtil.getName(HorizontalAlignment_$type, u);
            b.subtitle = r;
        }
    };
    DataChartVisualDataManager.prototype.a = function (a, b, c) {
        return FontUtil.getFontInfo(a.j.ae, b, c);
    };
    DataChartVisualDataManager.$t = markType(DataChartVisualDataManager, 'DataChartVisualDataManager', Base.$, [IDataChartVisualDataManager_$type]);
    return DataChartVisualDataManager;
}(Base));
export { DataChartVisualDataManager };
