@ng-web-apis/canvas
Version:
A library for declarative use of Canvas API with Angular
40 lines • 4.12 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { WaDrawService } from '../services/draw.service';
import * as i0 from "@angular/core";
class WaCanvasText {
method = inject(WaDrawService);
text = '';
x = 0;
y = 0;
maxWidth;
constructor() {
this.method.call = (context) => {
context.fillText(this.text, this.x, this.y, this.maxWidth);
context.strokeText(this.text, this.x, this.y, this.maxWidth);
};
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasText, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: WaCanvasText, isStandalone: true, selector: "canvas-text", inputs: { text: "text", x: "x", y: "y", maxWidth: "maxWidth" }, providers: [WaDrawService], ngImport: i0 });
}
export { WaCanvasText };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasText, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'canvas-text',
providers: [WaDrawService],
}]
}], ctorParameters: function () { return []; }, propDecorators: { text: [{
type: Input
}], x: [{
type: Input
}], y: [{
type: Input
}], maxWidth: [{
type: Input
}] } });
/**
* @deprecated: use {@link WaCanvasText}
*/
export const TextDirective = WaCanvasText;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2FudmFzL3NyYy9tZXRob2RzL3RleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFdkQsTUFLYSxZQUFZO0lBQ0osTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUd6QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBR1YsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUdOLENBQUMsR0FBRyxDQUFDLENBQUM7SUFHTixRQUFRLENBQVU7SUFFekI7UUFDSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQztJQUNOLENBQUM7d0dBcEJRLFlBQVk7NEZBQVosWUFBWSwwSEFGVixDQUFDLGFBQWEsQ0FBQzs7U0FFakIsWUFBWTs0RkFBWixZQUFZO2tCQUx4QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUM3QjswRUFLVSxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsQ0FBQztzQkFEUCxLQUFLO2dCQUlDLENBQUM7c0JBRFAsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7O0FBV1Y7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1dhRHJhd1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXcuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdjYW52YXMtdGV4dCcsXG4gICAgcHJvdmlkZXJzOiBbV2FEcmF3U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFdhQ2FudmFzVGV4dCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXRob2QgPSBpbmplY3QoV2FEcmF3U2VydmljZSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0ZXh0ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHkgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4V2lkdGg/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5tZXRob2QuY2FsbCA9IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRoaXMudGV4dCwgdGhpcy54LCB0aGlzLnksIHRoaXMubWF4V2lkdGgpO1xuICAgICAgICAgICAgY29udGV4dC5zdHJva2VUZXh0KHRoaXMudGV4dCwgdGhpcy54LCB0aGlzLnksIHRoaXMubWF4V2lkdGgpO1xuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBXYUNhbnZhc1RleHR9XG4gKi9cbmV4cG9ydCBjb25zdCBUZXh0RGlyZWN0aXZlID0gV2FDYW52YXNUZXh0O1xuIl19