@ng-web-apis/canvas
Version:
A library for declarative use of Canvas API with Angular
70 lines • 7.87 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { WaDrawService } from '../services/draw.service';
import * as i0 from "@angular/core";
class WaCanvasDrawImage {
method = inject(WaDrawService);
image;
dX = 0;
dY = 0;
dWidth;
dHeight;
sX;
sY;
sWidth;
sHeight;
constructor() {
this.method.call = (context) => {
if (!this.image) {
return;
}
if (this.sWidth !== undefined &&
this.sHeight !== undefined &&
this.sX !== undefined &&
this.sY !== undefined &&
this.dWidth !== undefined &&
this.dHeight !== undefined) {
context.drawImage(this.image, this.sX, this.sY, this.sWidth, this.sHeight, this.dX, this.dY, this.dWidth, this.dHeight);
}
else if (this.dWidth !== undefined && this.dHeight !== undefined) {
context.drawImage(this.image, this.dX, this.dY, this.dWidth, this.dHeight);
}
else {
context.drawImage(this.image, this.dX, this.dY);
}
};
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasDrawImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: WaCanvasDrawImage, isStandalone: true, selector: "canvas-draw-image", inputs: { image: "image", dX: "dX", dY: "dY", dWidth: "dWidth", dHeight: "dHeight", sX: "sX", sY: "sY", sWidth: "sWidth", sHeight: "sHeight" }, providers: [WaDrawService], ngImport: i0 });
}
export { WaCanvasDrawImage };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasDrawImage, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'canvas-draw-image',
providers: [WaDrawService],
}]
}], ctorParameters: function () { return []; }, propDecorators: { image: [{
type: Input
}], dX: [{
type: Input
}], dY: [{
type: Input
}], dWidth: [{
type: Input
}], dHeight: [{
type: Input
}], sX: [{
type: Input
}], sY: [{
type: Input
}], sWidth: [{
type: Input
}], sHeight: [{
type: Input
}] } });
/**
* @deprecated: use {@link WaCanvasDrawImage}
*/
export const DrawImageDirective = WaCanvasDrawImage;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1pbWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2FudmFzL3NyYy9tZXRob2RzL2RyYXctaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFdkQsTUFLYSxpQkFBaUI7SUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBR3pDLEtBQUssQ0FBcUI7SUFHMUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUdQLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFHUCxNQUFNLENBQVU7SUFHaEIsT0FBTyxDQUFVO0lBR2pCLEVBQUUsQ0FBVTtJQUdaLEVBQUUsQ0FBVTtJQUdaLE1BQU0sQ0FBVTtJQUdoQixPQUFPLENBQVU7SUFFeEI7UUFDSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNiLE9BQU87YUFDVjtZQUVELElBQ0ksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO2dCQUN6QixJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVM7Z0JBQzFCLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUztnQkFDckIsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTO2dCQUNyQixJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVM7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUM1QjtnQkFDRSxPQUFPLENBQUMsU0FBUyxDQUNiLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNmLENBQUM7YUFDTDtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO2dCQUNoRSxPQUFPLENBQUMsU0FBUyxDQUNiLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDZixDQUFDO2FBQ0w7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1FBQ0wsQ0FBQyxDQUFDO0lBQ04sQ0FBQzt3R0FuRVEsaUJBQWlCOzRGQUFqQixpQkFBaUIsZ05BRmYsQ0FBQyxhQUFhLENBQUM7O1NBRWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzdCOzBFQUtVLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxFQUFFO3NCQURSLEtBQUs7Z0JBSUMsRUFBRTtzQkFEUixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsRUFBRTtzQkFEUixLQUFLO2dCQUlDLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLOztBQTJDVjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1dhRHJhd1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXcuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdjYW52YXMtZHJhdy1pbWFnZScsXG4gICAgcHJvdmlkZXJzOiBbV2FEcmF3U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFdhQ2FudmFzRHJhd0ltYWdlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1ldGhvZCA9IGluamVjdChXYURyYXdTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGltYWdlPzogQ2FudmFzSW1hZ2VTb3VyY2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkWCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkWSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkV2lkdGg/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkSGVpZ2h0PzogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc1g/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzWT86IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNXaWR0aD86IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNIZWlnaHQ/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5tZXRob2QuY2FsbCA9IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW1hZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLnNXaWR0aCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgdGhpcy5zSGVpZ2h0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNYICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNZICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmRXaWR0aCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgdGhpcy5kSGVpZ2h0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmltYWdlLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNYLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNZLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRYLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRZLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kSGVpZ2h0LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZFdpZHRoICE9PSB1bmRlZmluZWQgJiYgdGhpcy5kSGVpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kWCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kWSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZEhlaWdodCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZSh0aGlzLmltYWdlLCB0aGlzLmRYLCB0aGlzLmRZKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSB7QGxpbmsgV2FDYW52YXNEcmF3SW1hZ2V9XG4gKi9cbmV4cG9ydCBjb25zdCBEcmF3SW1hZ2VEaXJlY3RpdmUgPSBXYUNhbnZhc0RyYXdJbWFnZTtcbiJdfQ==