/*
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 { __extends } from "tslib";
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
 */
var AnnotationLayerProxy = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(AnnotationLayerProxy, _super);
    function AnnotationLayerProxy() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this._container = null;
        return _this;
    }
    Object.defineProperty(AnnotationLayerProxy.prototype, "container", {
        get: function () {
            return this._container;
        },
        set: function (a) {
            this._container = a;
        },
        enumerable: false,
        configurable: true
    });
    AnnotationLayerProxy.prototype.matchesType = function (a) {
        if (!a.eu) {
            return false;
        }
        return true;
    };
    AnnotationLayerProxy.prototype.createCrosshairLayer = function () {
        var a = new CrosshairLayer();
        var b = this.container.getExternal(a, null, null);
        return a;
    };
    AnnotationLayerProxy.prototype.createValueLayer = function () {
        var a = new ValueLayer();
        var b = this.container.getExternal(a, null, null);
        return a;
    };
    AnnotationLayerProxy.prototype.createCalloutLayer = function () {
        var a = new CalloutLayer();
        var b = this.container.getExternal(a, null, null);
        return a;
    };
    AnnotationLayerProxy.prototype.createFinalValueLayer = function () {
        var a = new FinalValueLayer();
        var b = this.container.getExternal(a, null, null);
        return a;
    };
    AnnotationLayerProxy.prototype.createTrendLineLayer = function () {
        var a = new TrendLineLayer();
        var b = this.container.getExternal(a, null, null);
        return a;
    };
    AnnotationLayerProxy.prototype.setCrosshairHorizontalLineVisibility = function (a, b) {
        a.adc = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairVerticalLineVisibility = function (a, b) {
        a.add = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairHorizontalLineStroke = function (a, b) {
        a.ac0 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairVerticalLineStroke = function (a, b) {
        a.ac1 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairXAxisForeground = function (a, b) {
        a.ac4 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairYAxisForeground = function (a, b) {
        a.ac7 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairXAxisBackground = function (a, b) {
        a.ac2 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairYAxisBackground = function (a, b) {
        a.ac5 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairYAxisPrecision = function (a, b) {
        a.aa5 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairXAxisPrecision = function (a, b) {
        a.aa4 = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairOnAxesEnabled = function (a, b) {
        a.aal = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairSkipZeroValueFragments = function (a, b) {
        a.aan = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairSkipInvalidData = function (a, b) {
        a.aam = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairUseInterpolation = function (a, b) {
        a.aap = b;
    };
    AnnotationLayerProxy.prototype.setCrosshairThickness = function (a, b) {
        a.jt = b;
    };
    AnnotationLayerProxy.prototype.isCrosshairLayer = function (a) {
        return typeCast(CrosshairLayer.$, a) !== null;
    };
    AnnotationLayerProxy.prototype.setFinalValuePrecision = function (a, b) {
        a.aas = b;
    };
    AnnotationLayerProxy.prototype.setFinalValueBackground = function (a, b) {
        a.abm = b;
    };
    AnnotationLayerProxy.prototype.setFinalValueForeground = function (a, b) {
        a.abo = b;
    };
    AnnotationLayerProxy.prototype.setContentMemberPath = function (a, b) {
        a.adw = b;
    };
    AnnotationLayerProxy.prototype.setCalloutsAllowedPositions = function (a, b) {
        a.aas = b;
    };
    AnnotationLayerProxy.prototype.setLabelMemberPath = function (a, b) {
        a.aea = b;
    };
    AnnotationLayerProxy.prototype.setXMemberPath = function (a, b) {
        a.aeq = b;
    };
    AnnotationLayerProxy.prototype.setYMemberPath = function (a, b) {
        a.aet = b;
    };
    AnnotationLayerProxy.prototype.setTargetSeries = function (a, b) {
        if (typeCast(CalloutLayer.$, a) !== null) {
            a.aax = b;
        }
        else {
            a.aaq = b;
        }
    };
    AnnotationLayerProxy.prototype.setCollisionChannel = function (a, b) {
        a.adt = b;
    };
    AnnotationLayerProxy.prototype.setIsAutoCalloutBehaviorEnabled = function (a, b) {
        a.abw = b;
    };
    AnnotationLayerProxy.prototype.setGreedyCollisionMode = function (a, b) {
        a.aan = b ? 2 : 0;
    };
    AnnotationLayerProxy.prototype.setCollisionMode = function (a, b) {
        a.aan = b;
    };
    AnnotationLayerProxy.prototype.setUseItemColorForFill = function (a, b) {
        a.ab3 = b;
    };
    AnnotationLayerProxy.prototype.setUseItemColorForOutline = function (a, b) {
        a.ab4 = b;
    };
    AnnotationLayerProxy.prototype.setCalloutStrokeThickness = function (a, b) {
        a.acu = b;
    };
    AnnotationLayerProxy.prototype.setUseAutoContrastingLabelColors = function (a, b) {
        a.ab1 = b;
    };
    AnnotationLayerProxy.prototype.setCalloutBackground = function (a, b) {
        a.agq = b;
    };
    AnnotationLayerProxy.prototype.setCalloutTextStyle = function (a, b) {
        if (b == null) {
            return;
        }
        var c = a;
        c.aeg = b.fontString;
    };
    AnnotationLayerProxy.prototype.setAutoCalloutLabelPrecision = function (a, b) {
        a.acy = b;
    };
    AnnotationLayerProxy.prototype.setCalloutLightColor = function (a, b) {
        a.agt = b;
    };
    AnnotationLayerProxy.prototype.setCalloutDarkColor = function (a, b) {
        a.agr = b;
    };
    AnnotationLayerProxy.prototype.setCalloutOutline = function (a, b) {
        a.agu = b;
    };
    AnnotationLayerProxy.prototype.setCalloutLeaderBrush = function (a, b) {
        a.ags = b;
    };
    AnnotationLayerProxy.prototype.setCalloutTextColor = function (a, b) {
        a.agv = b;
    };
    AnnotationLayerProxy.prototype.setShouldTruncateOnBoundaryCollisions = function (a, b) {
        a.ab0 = b;
    };
    AnnotationLayerProxy.prototype.setUseDedicatedLanes = function (a, b) {
        a.aal = b ? 2 : 0;
    };
    AnnotationLayerProxy.prototype.isCalloutLayer = function (a) {
        if (typeCast(CalloutLayer.$, a) !== null) {
            return true;
        }
        return false;
    };
    AnnotationLayerProxy.prototype.isDataToolTipLayer = function (a) {
        if (typeCast(DataToolTipLayer.$, a) !== null) {
            return true;
        }
        return false;
    };
    AnnotationLayerProxy.prototype.isFinalValueLayer = function (a) {
        if (typeCast(FinalValueLayer.$, a) !== null) {
            return true;
        }
        return false;
    };
    AnnotationLayerProxy.prototype.addCalloutStyleUpdating = function (a, b) {
        var c = a;
        c.calloutStyleUpdating = delegateCombine(c.calloutStyleUpdating, b);
    };
    AnnotationLayerProxy.prototype.removeCalloutStyleUpdating = function (a, b) {
        var c = a;
        c.calloutStyleUpdating = delegateRemove(c.calloutStyleUpdating, b);
    };
    AnnotationLayerProxy.prototype.addCalloutLabelUpdating = function (a, b) {
        var c = a;
        c.calloutLabelUpdating = delegateCombine(c.calloutLabelUpdating, b);
    };
    AnnotationLayerProxy.prototype.removeCalloutLabelUpdating = function (a, b) {
        var c = a;
        c.calloutLabelUpdating = delegateRemove(c.calloutLabelUpdating, b);
    };
    AnnotationLayerProxy.prototype.addCalloutRenderStyleUpdating = function (a, b) {
        var c = a;
        c.calloutRenderStyleUpdating = delegateCombine(c.calloutRenderStyleUpdating, b);
    };
    AnnotationLayerProxy.prototype.removeCalloutRenderStyleUpdating = function (a, b) {
        var c = a;
        c.calloutRenderStyleUpdating = delegateRemove(c.calloutRenderStyleUpdating, b);
    };
    AnnotationLayerProxy.prototype.setCalloutStyleUpdatingEventEnabled = function (a, b) {
        a.abz = b;
    };
    AnnotationLayerProxy.prototype.setUseValueForAutoCalloutLabels = function (a, b) {
        a.ab6 = b;
    };
    AnnotationLayerProxy.prototype.setCalloutRenderStyleUpdatingEventEnabled = function (a, b) {
        a.aby = b;
    };
    AnnotationLayerProxy.prototype.updateDataToolTipPropertyByName = function (a, b, c) {
        a.af6(b, c);
    };
    AnnotationLayerProxy.prototype.getIsAutoCalloutBehaviorEnabled = function (a) {
        return a.abw;
    };
    AnnotationLayerProxy.prototype.setValueMode = function (a, b) {
        a.aas = b;
    };
    AnnotationLayerProxy.prototype.setUseLegend = function (a, b) {
        a.xv = b;
    };
    AnnotationLayerProxy.prototype.setTitle = function (a, b) {
        a.title = b;
    };
    AnnotationLayerProxy.prototype.setLegendItemBadgeShape = function (a, b) {
        a.legendItemBadgeShape = b;
    };
    AnnotationLayerProxy.prototype.setValueAxisAnnotationEnabled = function (a, b) {
        a.aaw = b;
    };
    AnnotationLayerProxy.prototype.getValueMode = function (a) {
        return a.aas;
    };
    AnnotationLayerProxy.prototype.isValueLayer = function (a) {
        return typeCast(ValueLayer.$, a) !== null;
    };
    AnnotationLayerProxy.prototype.setBrush = function (a, b) {
        a.vp = b;
    };
    AnnotationLayerProxy.prototype.setDashArray = function (a, b) {
        var c = new DoubleCollection();
        for (var d = 0; d < b.length; d++) {
            c.add(b[d]);
        }
        a.wc = c;
    };
    AnnotationLayerProxy.prototype.isTrendLineLayer = function (a) {
        return typeCast(TrendLineLayer.$, a) !== null;
    };
    AnnotationLayerProxy.prototype.setTrendLineTarget = function (a, b) {
        a.aag = b;
    };
    AnnotationLayerProxy.prototype.setTrendLineType = function (a, b) {
        a.aai = b;
    };
    AnnotationLayerProxy.prototype.setTrendLineBrush = function (a, b) {
        a.vp = b;
    };
    AnnotationLayerProxy.prototype.setTrendLineDashArray = function (a, b) {
        a.wc = b;
    };
    AnnotationLayerProxy.prototype.setTrendLineDashCap = function (a, b) {
        a.wd = b;
    };
    AnnotationLayerProxy.prototype.setTrendLineThickness = function (a, b) {
        a.jt = b;
    };
    AnnotationLayerProxy.prototype.getTrendLineType = function (a) {
        return a.aai;
    };
    AnnotationLayerProxy.prototype.setAppearanceMode = function (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;
}(Base));
export { AnnotationLayerProxy };
