@ng-web-apis/canvas
Version:
A library for declarative use of Canvas API with Angular
34 lines • 3.61 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { WaDrawService } from '../services/draw.service';
import * as i0 from "@angular/core";
class WaCanvasPath2d {
method = inject(WaDrawService);
path = new Path2D();
fillRule;
constructor() {
this.method.call = (context) => {
context.fill(this.path, this.fillRule);
context.stroke(this.path);
};
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasPath2d, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: WaCanvasPath2d, isStandalone: true, selector: "canvas-path[path]", inputs: { path: "path", fillRule: "fillRule" }, providers: [WaDrawService], ngImport: i0 });
}
export { WaCanvasPath2d };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasPath2d, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'canvas-path[path]',
providers: [WaDrawService],
}]
}], ctorParameters: function () { return []; }, propDecorators: { path: [{
type: Input
}], fillRule: [{
type: Input
}] } });
/**
* @deprecated: use {@link WaCanvasPath2d}
*/
export const Path2dDirective = WaCanvasPath2d;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC0yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2FudmFzL3NyYy9tZXRob2RzL3BhdGgtMmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFdkQsTUFLYSxjQUFjO0lBQ04sTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUd6QyxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUdwQixRQUFRLENBQWtCO0lBRWpDO1FBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQztJQUNOLENBQUM7d0dBZFEsY0FBYzs0RkFBZCxjQUFjLGdIQUZaLENBQUMsYUFBYSxDQUFDOztTQUVqQixjQUFjOzRGQUFkLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDN0I7MEVBS1UsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSzs7QUFXVjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7V2FEcmF3U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvZHJhdy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2NhbnZhcy1wYXRoW3BhdGhdJyxcbiAgICBwcm92aWRlcnM6IFtXYURyYXdTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgV2FDYW52YXNQYXRoMmQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0aG9kID0gaW5qZWN0KFdhRHJhd1NlcnZpY2UpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGF0aCA9IG5ldyBQYXRoMkQoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbGxSdWxlPzogQ2FudmFzRmlsbFJ1bGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5tZXRob2QuY2FsbCA9IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb250ZXh0LmZpbGwodGhpcy5wYXRoLCB0aGlzLmZpbGxSdWxlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc3Ryb2tlKHRoaXMucGF0aCk7XG4gICAgICAgIH07XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIFdhQ2FudmFzUGF0aDJkfVxuICovXG5leHBvcnQgY29uc3QgUGF0aDJkRGlyZWN0aXZlID0gV2FDYW52YXNQYXRoMmQ7XG4iXX0=