/*
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 { TrendLineLayer } from "./TrendLineLayer";
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.eu) {
                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;
        }
        createTrendLineLayer() {
            let a = new TrendLineLayer();
            let b = this.container.getExternal(a, null, null);
            return a;
        }
        setCrosshairHorizontalLineVisibility(a, b) {
            a.adc = b;
        }
        setCrosshairVerticalLineVisibility(a, b) {
            a.add = b;
        }
        setCrosshairHorizontalLineStroke(a, b) {
            a.ac0 = b;
        }
        setCrosshairVerticalLineStroke(a, b) {
            a.ac1 = b;
        }
        setCrosshairXAxisForeground(a, b) {
            a.ac4 = b;
        }
        setCrosshairYAxisForeground(a, b) {
            a.ac7 = b;
        }
        setCrosshairXAxisBackground(a, b) {
            a.ac2 = b;
        }
        setCrosshairYAxisBackground(a, b) {
            a.ac5 = b;
        }
        setCrosshairYAxisPrecision(a, b) {
            a.aa5 = b;
        }
        setCrosshairXAxisPrecision(a, b) {
            a.aa4 = b;
        }
        setCrosshairOnAxesEnabled(a, b) {
            a.aal = b;
        }
        setCrosshairSkipZeroValueFragments(a, b) {
            a.aan = b;
        }
        setCrosshairSkipInvalidData(a, b) {
            a.aam = b;
        }
        setCrosshairUseInterpolation(a, b) {
            a.aap = b;
        }
        setCrosshairThickness(a, b) {
            a.jt = b;
        }
        isCrosshairLayer(a) {
            return typeCast(CrosshairLayer.$, a) !== null;
        }
        setFinalValuePrecision(a, b) {
            a.aas = b;
        }
        setFinalValueBackground(a, b) {
            a.abm = b;
        }
        setFinalValueForeground(a, b) {
            a.abo = b;
        }
        setContentMemberPath(a, b) {
            a.adw = b;
        }
        setCalloutsAllowedPositions(a, b) {
            a.aas = b;
        }
        setLabelMemberPath(a, b) {
            a.aea = b;
        }
        setXMemberPath(a, b) {
            a.aeq = b;
        }
        setYMemberPath(a, b) {
            a.aet = b;
        }
        setTargetSeries(a, b) {
            if (typeCast(CalloutLayer.$, a) !== null) {
                a.aax = b;
            }
            else {
                a.aaq = b;
            }
        }
        setCollisionChannel(a, b) {
            a.adt = b;
        }
        setIsAutoCalloutBehaviorEnabled(a, b) {
            a.abw = b;
        }
        setGreedyCollisionMode(a, b) {
            a.aan = b ? 2 : 0;
        }
        setCollisionMode(a, b) {
            a.aan = b;
        }
        setUseItemColorForFill(a, b) {
            a.ab3 = b;
        }
        setUseItemColorForOutline(a, b) {
            a.ab4 = b;
        }
        setCalloutStrokeThickness(a, b) {
            a.acu = b;
        }
        setUseAutoContrastingLabelColors(a, b) {
            a.ab1 = b;
        }
        setCalloutBackground(a, b) {
            a.agq = b;
        }
        setCalloutTextStyle(a, b) {
            if (b == null) {
                return;
            }
            let c = a;
            c.aeg = b.fontString;
        }
        setAutoCalloutLabelPrecision(a, b) {
            a.acy = b;
        }
        setCalloutLightColor(a, b) {
            a.agt = b;
        }
        setCalloutDarkColor(a, b) {
            a.agr = b;
        }
        setCalloutOutline(a, b) {
            a.agu = b;
        }
        setCalloutLeaderBrush(a, b) {
            a.ags = b;
        }
        setCalloutTextColor(a, b) {
            a.agv = b;
        }
        setShouldTruncateOnBoundaryCollisions(a, b) {
            a.ab0 = b;
        }
        setUseDedicatedLanes(a, b) {
            a.aal = 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);
        }
        addCalloutLabelUpdating(a, b) {
            let c = a;
            c.calloutLabelUpdating = delegateCombine(c.calloutLabelUpdating, b);
        }
        removeCalloutLabelUpdating(a, b) {
            let c = a;
            c.calloutLabelUpdating = delegateRemove(c.calloutLabelUpdating, 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.abz = b;
        }
        setUseValueForAutoCalloutLabels(a, b) {
            a.ab6 = b;
        }
        setCalloutRenderStyleUpdatingEventEnabled(a, b) {
            a.aby = b;
        }
        updateDataToolTipPropertyByName(a, b, c) {
            a.af6(b, c);
        }
        getIsAutoCalloutBehaviorEnabled(a) {
            return a.abw;
        }
        setValueMode(a, b) {
            a.aas = b;
        }
        setUseLegend(a, b) {
            a.xv = b;
        }
        setTitle(a, b) {
            a.title = b;
        }
        setLegendItemBadgeShape(a, b) {
            a.legendItemBadgeShape = b;
        }
        setValueAxisAnnotationEnabled(a, b) {
            a.aaw = b;
        }
        getValueMode(a) {
            return a.aas;
        }
        isValueLayer(a) {
            return typeCast(ValueLayer.$, a) !== null;
        }
        setBrush(a, b) {
            a.vp = b;
        }
        setDashArray(a, b) {
            let c = new DoubleCollection();
            for (let d = 0; d < b.length; d++) {
                c.add(b[d]);
            }
            a.wc = c;
        }
        isTrendLineLayer(a) {
            return typeCast(TrendLineLayer.$, a) !== null;
        }
        setTrendLineTarget(a, b) {
            a.aag = b;
        }
        setTrendLineType(a, b) {
            a.aai = b;
        }
        setTrendLineBrush(a, b) {
            a.vp = b;
        }
        setTrendLineDashArray(a, b) {
            a.wc = b;
        }
        setTrendLineDashCap(a, b) {
            a.wd = b;
        }
        setTrendLineThickness(a, b) {
            a.jt = b;
        }
        getTrendLineType(a) {
            return a.aai;
        }
        setAppearanceMode(a, b) {
            switch (b) {
                case "BrightnessShift":
                    a.xb = 1;
                    break;
                case "SaturationShift":
                    a.xb = 2;
                    break;
                case "OpacityShift":
                    a.xb = 4;
                    break;
                case "DashPattern":
                    a.xb = 3;
                    break;
                case "Auto":
                    a.xb = 0;
                    break;
            }
        }
    }
    AnnotationLayerProxy.$t = markType(AnnotationLayerProxy, 'AnnotationLayerProxy', Base.$, [IAnnotationLayerProxy_$type]);
    return AnnotationLayerProxy;
})();
