/*
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-angular-core";
import { Brush } from "igniteui-angular-core";
import { BrushUtil } from "igniteui-angular-core";
/**
 * @hidden
 */
export let FrameExtended = /*@__PURE__*/ (() => {
    class FrameExtended extends Base {
        static b(a, b, c, d) {
            let e = BrushUtil.n(b, a, c, d);
            return e;
        }
        static a(a, b, c, d, e) {
            let f = c.count;
            let g = d.count;
            let h = Math.max(f, g);
            let i = ((() => {
                let $ret = new Brush();
                $ret.fill = "transparent";
                return $ret;
            })());
            let j = 1 - b;
            if (a.count < h) {
                let k = new Array(h - a.count);
                for (let l = 0; l < h - a.count; l++) {
                    k[l] = new Brush();
                }
                a.s(a.count, k);
            }
            if (a.count > h) {
                a.v(h, a.count - h);
            }
            for (let m = 0; m < Math.min(f, g); ++m) {
                a._inner[m] = FrameExtended.b(b, c._inner[m], d._inner[m], e);
            }
            if (f < g) {
                let n = f > 0 ? c._inner[f - 1] : i;
                for (let o = f; o < g; ++o) {
                    a._inner[o] = FrameExtended.b(b, n, d._inner[o], e);
                }
            }
            if (f > g) {
                let p = g > 0 ? d._inner[g - 1] : i;
                for (let q = g; q < f; ++q) {
                    a._inner[q] = FrameExtended.b(b, c._inner[q], p, e);
                }
            }
        }
    }
    FrameExtended.$t = markType(FrameExtended, 'FrameExtended');
    return FrameExtended;
})();
