import { fromPoint, toPoint, ensureBool } from "igniteui-angular-core";
/**
 * Provides data for IgxDataChartComponent mouse button related events.
*/
var IgxPlotAreaMouseEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgxPlotAreaMouseEventArgs() {
    }
    Object.defineProperty(IgxPlotAreaMouseEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxPlotAreaMouseEventArgs.prototype.onImplementationCreated = function () {
    };
    IgxPlotAreaMouseEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxPlotAreaMouseEventArgs.prototype, "chartPosition", {
        get: function () {
            return fromPoint(this.i.chartPosition);
        },
        set: function (v) {
            this.i.chartPosition = toPoint(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxPlotAreaMouseEventArgs.prototype, "plotAreaPosition", {
        get: function () {
            return fromPoint(this.i.plotAreaPosition);
        },
        set: function (v) {
            this.i.plotAreaPosition = toPoint(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxPlotAreaMouseEventArgs.prototype, "isDuringManipulation", {
        get: function () {
            return this.i.isDuringManipulation;
        },
        set: function (v) {
            this.i.isDuringManipulation = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxPlotAreaMouseEventArgs.prototype, "viewer", {
        /**
         * Gets the Chart associated with the current event.
        */
        get: function () {
            if (this.i.viewer == null) {
                return null;
            }
            return this.i.viewer.externalObject;
        },
        set: function (v) {
            v == null ? this.i.viewer = null : this.i.viewer = v.i;
        },
        enumerable: false,
        configurable: true
    });
    return IgxPlotAreaMouseEventArgs;
}());
export { IgxPlotAreaMouseEventArgs };
