@ng-web-apis/canvas
Version:
A library for declarative use of Canvas API with Angular
31 lines • 4.08 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { asCanvasProperty } from '../tokens/canvas-properties';
import * as i0 from "@angular/core";
class WaCanvasTransform {
parent = inject(WaCanvasTransform, {
skipSelf: true,
optional: true,
});
transform = new DOMMatrix();
call(context) {
context.setTransform(this.parent?.transform.multiply(this.transform) || this.transform);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasTransform, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: WaCanvasTransform, isStandalone: true, selector: "canvas[transform],canvas-draw-image[transform],canvas-path[transform],canvas-text[transform]", inputs: { transform: "transform" }, providers: [asCanvasProperty(WaCanvasTransform)], ngImport: i0 });
}
export { WaCanvasTransform };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasTransform, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'canvas[transform],canvas-draw-image[transform],canvas-path[transform],canvas-text[transform]',
providers: [asCanvasProperty(WaCanvasTransform)],
}]
}], propDecorators: { transform: [{
type: Input
}] } });
/**
* @deprecated: use {@link WaCanvasTransform}
*/
export const TransformDirective = WaCanvasTransform;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9jYW52YXMvc3JjL3Byb3BlcnRpZXMvdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFN0QsTUFNYSxpQkFBaUI7SUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFO1FBQ2hELFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0lBR0ksU0FBUyxHQUFjLElBQUksU0FBUyxFQUFFLENBQUM7SUFFdkMsSUFBSSxDQUFDLE9BQWlDO1FBQ3pDLE9BQU8sQ0FBQyxZQUFZLENBQ2hCLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7d0dBYlEsaUJBQWlCOzRGQUFqQixpQkFBaUIsK0tBRmYsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDOztTQUV2QyxpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUNKLDhGQUE4RjtvQkFDbEcsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLG1CQUFtQixDQUFDO2lCQUNuRDs4QkFRVSxTQUFTO3NCQURmLEtBQUs7O0FBVVY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUge0NhbnZhc01ldGhvZH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jYW52YXMtbWV0aG9kJztcbmltcG9ydCB7YXNDYW52YXNQcm9wZXJ0eX0gZnJvbSAnLi4vdG9rZW5zL2NhbnZhcy1wcm9wZXJ0aWVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjpcbiAgICAgICAgJ2NhbnZhc1t0cmFuc2Zvcm1dLGNhbnZhcy1kcmF3LWltYWdlW3RyYW5zZm9ybV0sY2FudmFzLXBhdGhbdHJhbnNmb3JtXSxjYW52YXMtdGV4dFt0cmFuc2Zvcm1dJyxcbiAgICBwcm92aWRlcnM6IFthc0NhbnZhc1Byb3BlcnR5KFdhQ2FudmFzVHJhbnNmb3JtKV0sXG59KVxuZXhwb3J0IGNsYXNzIFdhQ2FudmFzVHJhbnNmb3JtIGltcGxlbWVudHMgQ2FudmFzTWV0aG9kIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChXYUNhbnZhc1RyYW5zZm9ybSwge1xuICAgICAgICBza2lwU2VsZjogdHJ1ZSxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cmFuc2Zvcm06IERPTU1hdHJpeCA9IG5ldyBET01NYXRyaXgoKTtcblxuICAgIHB1YmxpYyBjYWxsKGNvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk6IHZvaWQge1xuICAgICAgICBjb250ZXh0LnNldFRyYW5zZm9ybShcbiAgICAgICAgICAgIHRoaXMucGFyZW50Py50cmFuc2Zvcm0ubXVsdGlwbHkodGhpcy50cmFuc2Zvcm0pIHx8IHRoaXMudHJhbnNmb3JtLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBXYUNhbnZhc1RyYW5zZm9ybX1cbiAqL1xuZXhwb3J0IGNvbnN0IFRyYW5zZm9ybURpcmVjdGl2ZSA9IFdhQ2FudmFzVHJhbnNmb3JtO1xuIl19