/*
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.dd) {
                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.v2 = b;
        }
        setCrosshairVerticalLineVisibility(a, b) {
            a.v3 = b;
        }
        setCrosshairHorizontalLineStroke(a, b) {
            a.vq = b;
        }
        setCrosshairVerticalLineStroke(a, b) {
            a.vr = b;
        }
        setCrosshairXAxisForeground(a, b) {
            a.vu = b;
        }
        setCrosshairYAxisForeground(a, b) {
            a.vx = b;
        }
        setCrosshairXAxisBackground(a, b) {
            a.vs = b;
        }
        setCrosshairYAxisBackground(a, b) {
            a.vv = b;
        }
        setCrosshairYAxisPrecision(a, b) {
            a.tz = b;
        }
        setCrosshairXAxisPrecision(a, b) {
            a.ty = b;
        }
        setCrosshairOnAxesEnabled(a, b) {
            a.th = b;
        }
        setCrosshairUseInterpolation(a, b) {
            a.tj = b;
        }
        setCrosshairThickness(a, b) {
            a.g4 = b;
        }
        setFinalValuePrecision(a, b) {
            a.to = b;
        }
        setFinalValueBackground(a, b) {
            a.ui = b;
        }
        setFinalValueForeground(a, b) {
            a.uk = b;
        }
        setContentMemberPath(a, b) {
            a.vr = b;
        }
        setCalloutsAllowedPositions(a, b) {
            a.tm = b;
        }
        setLabelMemberPath(a, b) {
            a.v1 = b;
        }
        setXMemberPath(a, b) {
            a.wc = b;
        }
        setYMemberPath(a, b) {
            a.wf = b;
        }
        setTargetSeries(a, b) {
            a.tq = b;
        }
        setCollisionChannel(a, b) {
            a.vo = b;
        }
        setIsAutoCalloutBehaviorEnabled(a, b) {
            a.ue = b;
        }
        setGreedyCollisionMode(a, b) {
            a.th = b ? 2 : 0;
        }
        setUseDedicatedLanes(a, b) {
            a.tf = 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;
        }
        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.uh = b;
        }
        setCalloutRenderStyleUpdatingEventEnabled(a, b) {
            a.ug = b;
        }
        updateDataToolTipPropertyByName(a, b, c) {
            a.yo(b, c);
        }
        setValueMode(a, b) {
            a.tg = b;
        }
        setValueAxisAnnotationEnabled(a, b) {
            a.tk = b;
        }
        setBrush(a, b) {
            a.o9 = b;
        }
        setDashArray(a, b) {
            let c = new DoubleCollection();
            for (let d = 0; d < b.length; d++) {
                c.add(b[d]);
            }
            a.pi = c;
        }
    }
    AnnotationLayerProxy.$t = markType(AnnotationLayerProxy, 'AnnotationLayerProxy', Base.$, [IAnnotationLayerProxy_$type]);
    return AnnotationLayerProxy;
})();
