import { Style } from "igniteui-angular-core";
var IgxStyleShapeEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgxStyleShapeEventArgs() {
    }
    Object.defineProperty(IgxStyleShapeEventArgs.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxStyleShapeEventArgs.prototype.onImplementationCreated = function () {
    };
    IgxStyleShapeEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxStyleShapeEventArgs.prototype, "item", {
        get: function () {
            return this.i.item;
        },
        set: function (v) {
            this.i.item = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxStyleShapeEventArgs.prototype, "shapeFill", {
        /**
         * Gets or sets the fill brush.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.fill : null;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.fill = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxStyleShapeEventArgs.prototype, "shapeStroke", {
        /**
         * Gets or sets the stroke brush.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.stroke : null;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.stroke = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxStyleShapeEventArgs.prototype, "shapeStrokeThickness", {
        /**
         * Gets or sets the stroke thickness.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.strokeThickness : NaN;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.strokeThickness = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxStyleShapeEventArgs.prototype, "shapeOpacity", {
        /**
         * Gets or sets the opacity.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.opacity : NaN;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.opacity = +v;
        },
        enumerable: false,
        configurable: true
    });
    IgxStyleShapeEventArgs.prototype.ensureShapeStyle = function () {
        if (this.i.shapeStyle) {
            return;
        }
        this.i.shapeStyle = new Style();
    };
    return IgxStyleShapeEventArgs;
}());
export { IgxStyleShapeEventArgs };
//# sourceMappingURL=igx-style-shape-event-args.js.map
