/*
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, typeCast, delegateCombine, delegateRemove, markType } from "igniteui-angular-core";
import { IAnnotationLayerProxy_$type } from "./IAnnotationLayerProxy";
import { CrosshairLayer } from "./CrosshairLayer";
import { ValueLayer } from "./ValueLayer";
import { CalloutLayer } from "./CalloutLayer";
import { FinalValueLayer } from "./FinalValueLayer";
import { DataToolTipLayer } from "./DataToolTipLayer";
import { DoubleCollection } from "igniteui-angular-core";
/**
 * @hidden
 */
export let AnnotationLayerProxy = /*@__PURE__*/ (() => {
    class AnnotationLayerProxy extends Base {
        constructor() {
            super(...arguments);
            this._container = null;
        }
        get container() {
            return this._container;
        }
        set container(a) {
            this._container = a;
        }
        matchesType(a) {
            if (!a.es) {
                return false;
            }
            return true;
        }
        createCrosshairLayer() {
            let a = new CrosshairLayer();
            let b = this.container.getExternal(a, null, null);
            return a;
        }
        createValueLayer() {
            let a = new ValueLayer();
            let b = this.container.getExternal(a, null, null);
            return a;
        }
        createCalloutLayer() {
            let a = new CalloutLayer();
            let b = this.container.getExternal(a, null, null);
            return a;
        }
        createFinalValueLayer() {
            let a = new FinalValueLayer();
            let b = this.container.getExternal(a, null, null);
            return a;
        }
        setCrosshairHorizontalLineVisibility(a, b) {
            a.aco = b;
        }
        setCrosshairVerticalLineVisibility(a, b) {
            a.acp = b;
        }
        setCrosshairHorizontalLineStroke(a, b) {
            a.acc = b;
        }
        setCrosshairVerticalLineStroke(a, b) {
            a.acd = b;
        }
        setCrosshairXAxisForeground(a, b) {
            a.acg = b;
        }
        setCrosshairYAxisForeground(a, b) {
            a.acj = b;
        }
        setCrosshairXAxisBackground(a, b) {
            a.ace = b;
        }
        setCrosshairYAxisBackground(a, b) {
            a.ach = b;
        }
        setCrosshairYAxisPrecision(a, b) {
            a.aal = b;
        }
        setCrosshairXAxisPrecision(a, b) {
            a.aak = b;
        }
        setCrosshairOnAxesEnabled(a, b) {
            a.z3 = b;
        }
        setCrosshairUseInterpolation(a, b) {
            a.z5 = b;
        }
        setCrosshairThickness(a, b) {
            a.jp = b;
        }
        isCrosshairLayer(a) {
            return typeCast(CrosshairLayer.$, a) !== null;
        }
        setFinalValuePrecision(a, b) {
            a.aaa = b;
        }
        setFinalValueBackground(a, b) {
            a.aa4 = b;
        }
        setFinalValueForeground(a, b) {
            a.aa6 = b;
        }
        setContentMemberPath(a, b) {
            a.acx = b;
        }
        setCalloutsAllowedPositions(a, b) {
            a.aaa = b;
        }
        setLabelMemberPath(a, b) {
            a.adb = b;
        }
        setXMemberPath(a, b) {
            a.adr = b;
        }
        setYMemberPath(a, b) {
            a.adu = b;
        }
        setTargetSeries(a, b) {
            if (typeCast(CalloutLayer.$, a) !== null) {
                a.aaf = b;
            }
            else {
                a.z3 = b;
            }
        }
        setCollisionChannel(a, b) {
            a.acu = b;
        }
        setIsAutoCalloutBehaviorEnabled(a, b) {
            a.aa5 = b;
        }
        setGreedyCollisionMode(a, b) {
            a.z5 = b ? 2 : 0;
        }
        setCollisionMode(a, b) {
            a.z5 = b;
        }
        setUseItemColorForFill(a, b) {
            a.abc = b;
        }
        setUseItemColorForOutline(a, b) {
            a.abd = b;
        }
        setCalloutStrokeThickness(a, b) {
            a.abz = b;
        }
        setUseAutoContrastingLabelColors(a, b) {
            a.aba = b;
        }
        setCalloutBackground(a, b) {
            a.afm = b;
        }
        setCalloutTextStyle(a, b) {
            if (b == null) {
                return;
            }
            let c = a;
            c.adh = b.fontString;
        }
        setAutoCalloutLabelPrecision(a, b) {
            a.ab2 = b;
        }
        setCalloutLightColor(a, b) {
            a.afp = b;
        }
        setCalloutDarkColor(a, b) {
            a.afn = b;
        }
        setCalloutOutline(a, b) {
            a.afq = b;
        }
        setCalloutLeaderBrush(a, b) {
            a.afo = b;
        }
        setCalloutTextColor(a, b) {
            a.afr = b;
        }
        setShouldTruncateOnBoundaryCollisions(a, b) {
            a.aa9 = b;
        }
        setUseDedicatedLanes(a, b) {
            a.z3 = b ? 2 : 0;
        }
        isCalloutLayer(a) {
            if (typeCast(CalloutLayer.$, a) !== null) {
                return true;
            }
            return false;
        }
        isDataToolTipLayer(a) {
            if (typeCast(DataToolTipLayer.$, a) !== null) {
                return true;
            }
            return false;
        }
        isFinalValueLayer(a) {
            if (typeCast(FinalValueLayer.$, a) !== null) {
                return true;
            }
            return false;
        }
        addCalloutStyleUpdating(a, b) {
            let c = a;
            c.calloutStyleUpdating = delegateCombine(c.calloutStyleUpdating, b);
        }
        removeCalloutStyleUpdating(a, b) {
            let c = a;
            c.calloutStyleUpdating = delegateRemove(c.calloutStyleUpdating, b);
        }
        addCalloutRenderStyleUpdating(a, b) {
            let c = a;
            c.calloutRenderStyleUpdating = delegateCombine(c.calloutRenderStyleUpdating, b);
        }
        removeCalloutRenderStyleUpdating(a, b) {
            let c = a;
            c.calloutRenderStyleUpdating = delegateRemove(c.calloutRenderStyleUpdating, b);
        }
        setCalloutStyleUpdatingEventEnabled(a, b) {
            a.aa8 = b;
        }
        setUseValueForAutoCalloutLabels(a, b) {
            a.abf = b;
        }
        setCalloutRenderStyleUpdatingEventEnabled(a, b) {
            a.aa7 = b;
        }
        updateDataToolTipPropertyByName(a, b, c) {
            a.afk(b, c);
        }
        getIsAutoCalloutBehaviorEnabled(a) {
            return a.aa5;
        }
        setValueMode(a, b) {
            a.z5 = b;
        }
        setUseLegend(a, b) {
            a.xl = b;
        }
        setTitle(a, b) {
            a.title = b;
        }
        setLegendItemBadgeShape(a, b) {
            a.legendItemBadgeShape = b;
        }
        setValueAxisAnnotationEnabled(a, b) {
            a.z7 = b;
        }
        getValueMode(a) {
            return a.z5;
        }
        isValueLayer(a) {
            return typeCast(ValueLayer.$, a) !== null;
        }
        setBrush(a, b) {
            a.vf = b;
        }
        setDashArray(a, b) {
            let c = new DoubleCollection();
            for (let d = 0; d < b.length; d++) {
                c.add(b[d]);
            }
            a.v2 = c;
        }
    }
    AnnotationLayerProxy.$t = markType(AnnotationLayerProxy, 'AnnotationLayerProxy', Base.$, [IAnnotationLayerProxy_$type]);
    return AnnotationLayerProxy;
})();
