/*
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 { AnnotationLayer } from "./AnnotationLayer";
import { DataAnnotationDisplayMode_$type } from "./DataAnnotationDisplayMode";
import { DependencyProperty } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { AnnotationAppearanceMode_$type } from "./AnnotationAppearanceMode";
import { Thickness } from "igniteui-angular-core";
import { Axis } from "./Axis";
import { DataAnnotationTargetMode_$type } from "./DataAnnotationTargetMode";
import { enumGetBox, markType, markDep } from "igniteui-angular-core";
import { PropertyMetadata } from "igniteui-angular-core";
import { DeviceUtils } from "igniteui-angular-core";
/**
 * @hidden
 */
var DataAnnotationAxisLayer = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(DataAnnotationAxisLayer, _super);
    function DataAnnotationAxisLayer() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.aal = true;
        return _this;
    }
    DataAnnotationAxisLayer.prototype.gb = function () {
        return true;
    };
    DataAnnotationAxisLayer.prototype.abj = function () {
        if (this.aal == false) {
            this.aal = true;
            this.ry(false);
        }
    };
    DataAnnotationAxisLayer.prototype.rg = function (a, b, c, d) {
        _super.prototype.rg.call(this, a, b, c, d);
        switch (b) {
            case DataAnnotationAxisLayer.$$p[12]:
            case DataAnnotationAxisLayer.$$p[2]:
            case DataAnnotationAxisLayer.$$p[1]:
            case DataAnnotationAxisLayer.$$p[3]:
            case DataAnnotationAxisLayer.$$p[0]:
            case DataAnnotationAxisLayer.$$p[4]:
            case DataAnnotationAxisLayer.$$p[6]:
            case DataAnnotationAxisLayer.$$p[8]:
            case DataAnnotationAxisLayer.$$p[5]:
            case DataAnnotationAxisLayer.$$p[9]:
            case DataAnnotationAxisLayer.$$p[7]:
            case DataAnnotationAxisLayer.$$p[15]:
            case DataAnnotationAxisLayer.$$p[14]:
            case DataAnnotationAxisLayer.$$p[16]:
            case DataAnnotationAxisLayer.$$p[13]:
            case DataAnnotationAxisLayer.$$p[11]:
            case DataAnnotationAxisLayer.$$p[10]:
                this.abj();
                break;
            case DataAnnotationAxisLayer.$$p[19]:
            case DataAnnotationAxisLayer.$$p[20]:
                this.ry(true);
                break;
        }
    };
    DataAnnotationAxisLayer.prototype.aaq = function (a) {
        return a != null && a.dp();
    };
    DataAnnotationAxisLayer.$t = markType(DataAnnotationAxisLayer, 'DataAnnotationAxisLayer', AnnotationLayer.$);
    DataAnnotationAxisLayer.$$p = markDep(DependencyProperty, PropertyMetadata, DataAnnotationAxisLayer, 'raisePropertyChanged', ['AnnotationBackgroundMatchLayer:aam:abk', [0, true], 'AnnotationBackgroundMode:aaf:abl', [AnnotationAppearanceMode_$type, enumGetBox(AnnotationAppearanceMode_$type, 0)], 'AnnotationBackground:ab5:abm', [Brush.$, null], 'AnnotationBackgroundShift:aar:abn', [1, NaN], 'AnnotationBorderColor:ab6:abo', [Brush.$, null], 'AnnotationBorderMatchLayer:aan:abp', [0, true], 'AnnotationBorderMode:aag:abq', [AnnotationAppearanceMode_$type, enumGetBox(AnnotationAppearanceMode_$type, 0)], 'AnnotationBorderRadius:aas:abr', [1, DeviceUtils.g(3)], 'AnnotationBorderShift:aat:abs', [1, NaN], 'AnnotationBorderThickness:aau:abt', [1, NaN], 'AnnotationLabelDisplayMode:aaj:abu', [DataAnnotationDisplayMode_$type, enumGetBox(DataAnnotationDisplayMode_$type, 0)], 'AnnotationLabelVisible:aao:abv', [0, true], 'AnnotationPadding:ab8:abw', [Thickness.$, new Thickness(1, NaN, NaN, NaN, NaN)], 'AnnotationTextColorMatchLayer:aap:abx', [0, false], 'AnnotationTextColorMode:aah:aby', [AnnotationAppearanceMode_$type, enumGetBox(AnnotationAppearanceMode_$type, 0)], 'AnnotationTextColor:ab7:abz', [Brush.$, null], 'AnnotationTextColorShift:aav:ab0', [1, NaN], 'AnnotationValueMaxPrecision:aaw:ab1', [1, -1], 'AnnotationValueMinPrecision:aax:ab2', [1, -1], 'TargetAxis:aai:ab3', [Axis.$, null], 'TargetMode:aak:ab4', [DataAnnotationTargetMode_$type, enumGetBox(DataAnnotationTargetMode_$type, 0)]]);
    return DataAnnotationAxisLayer;
}(AnnotationLayer));
export { DataAnnotationAxisLayer };
