/*
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, toNullable, Boolean_$type, Number_$type, markType } from "igniteui-angular-core";
import { ILegacyShapeData_$type } from "./ILegacyShapeData";
import { MathUtilities } from "./MathUtilities";
import { ST_CF_$type } from "./ST_CF";
import { ST_InsetMode_$type } from "./ST_InsetMode";
import { truncate } from "igniteui-angular-core";
import { nullableEquals } from "igniteui-angular-core";
/**
 * @hidden
 */
export class LegacyShapeData extends Base {
    constructor() {
        super();
        this.n = toNullable(Boolean_$type, null);
        this.o = toNullable(Boolean_$type, null);
        this.p = toNullable(Boolean_$type, null);
        this.q = toNullable(ST_CF_$type, null);
        this.r = toNullable(Number_$type, null);
        this.s = toNullable(Boolean_$type, null);
        this.t = toNullable(Number_$type, null);
        this.u = toNullable(Boolean_$type, null);
        this.v = toNullable(Number_$type, null);
        this.an = null;
        this.w = toNullable(Number_$type, null);
        this.x = toNullable(Boolean_$type, null);
        this.ao = null;
        this._fmlaMacro = null;
        this.ap = null;
        this.k = false;
        this.aq = null;
        this.y = toNullable(Number_$type, null);
        this.z = toNullable(ST_InsetMode_$type, null);
        this.c = null;
        this.ar = null;
        this.ab = toNullable(Number_$type, null);
        this.ac = toNullable(Number_$type, null);
        this.aa = toNullable(Boolean_$type, null);
        this.ad = toNullable(Boolean_$type, null);
        this.ae = toNullable(Boolean_$type, null);
        this.j = 0;
        this.af = toNullable(Number_$type, null);
        this.d = null;
        this.ag = toNullable(Boolean_$type, null);
        this.ah = toNullable(Number_$type, null);
        this.ai = toNullable(Boolean_$type, null);
        this.m = 0;
        this.as = null;
        this.at = null;
        this.aj = toNullable(Boolean_$type, null);
        this.au = null;
        this.aw = null;
        this.ak = toNullable(Boolean_$type, null);
        this.av = null;
        this.i = null;
        this.ax = null;
        this.ay = null;
        this.az = null;
        this.al = toNullable(Number_$type, null);
        this.am = toNullable(Boolean_$type, null);
        this.a = null;
        this.e = null;
        this.g = null;
        this.a = new Array(8);
    }
    get fmlaMacro() {
        return this._fmlaMacro;
    }
    set fmlaMacro(a) {
        this._fmlaMacro = a;
    }
    a0(a) {
        this.g = a;
        let b = a.worksheet;
        if (a.topLeftCornerCell.worksheet == null || a.bottomRightCornerCell.worksheet == null) {
            return;
        }
        this.a[0] = a._ah.m;
        this.a[2] = a._ah.o;
        this.a[4] = a._ad.m;
        this.a[6] = a._ad.o;
        let c = b._fp(a._ah.m, true);
        let d = ((c * a._topLeftCornerPosition$i.x) / 100);
        this.a[1] = truncate(MathUtilities.f(d));
        let e = b._fs(a._ah.o, true);
        let f = ((e * a._topLeftCornerPosition$i.y) / 100);
        this.a[3] = truncate(MathUtilities.f(f));
        let g = b._fp(a._ad.m, true);
        let h = ((g * a._bottomRightCornerPosition$i.x) / 100);
        this.a[5] = truncate(MathUtilities.f(h));
        let i = b._fs(a._ad.o, true);
        let j = ((i * a._bottomRightCornerPosition$i.y) / 100);
        this.a[7] = truncate(MathUtilities.f(j));
    }
    get b() {
        return this.a;
    }
    get f() {
        return this.e;
    }
    set f(a) {
        this.e = a;
    }
    get h() {
        return this.g;
    }
    get l() {
        if (nullableEquals(this.am, false)) {
            return false;
        }
        if (nullableEquals(this.ai, true) || nullableEquals(this.s, true)) {
            return false;
        }
        return true;
    }
}
LegacyShapeData.$t = markType(LegacyShapeData, 'LegacyShapeData', Base.$, [ILegacyShapeData_$type]);
//# sourceMappingURL=LegacyShapeData.js.map