UNPKG

@visactor/vrender-kits

Version:
111 lines (104 loc) 4.09 kB
var __decorate = this && this.__decorate || function(decorators, target, key, desc) { var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc; if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r); return c > 3 && r && Object.defineProperty(target, key, r), r; }, __metadata = this && this.__metadata || function(k, v) { if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v); }, __param = this && this.__param || function(paramIndex, decorator) { return function(target, key) { decorator(target, key, paramIndex); }; }; import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core"; import { NodeCanvas } from "../../canvas/contributions/node"; let NodeWindowHandlerContribution = class extends BaseWindowHandlerContribution { get container() { return null; } constructor(global) { super(), this.global = global, this.type = "node"; } getTitle() { return ""; } getWH() { return { width: this.canvas.displayWidth, height: this.canvas.displayHeight }; } getXY() { return { x: 0, y: 0 }; } createWindow(params) { params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params); } createWindowByConfig(params) { const nativeCanvas = this.global.createCanvas({ width: params.width, height: params.height }), options = { width: params.width, height: params.height, dpr: params.dpr, nativeCanvas: nativeCanvas, id: Generator.GenAutoIncrementId().toString(), canvasControled: !0 }; this.canvas = new NodeCanvas(options); } createWindowByCanvas(params) { var _a; const canvas = params.canvas, dpr = null !== (_a = params.dpr) && void 0 !== _a ? _a : 1; let width = params.width, height = params.height; null != width && null != height && params.canvasControled || (width = canvas.width / dpr, height = canvas.height / dpr), this.canvas = new NodeCanvas({ width: width, height: height, dpr: dpr, nativeCanvas: canvas, canvasControled: params.canvasControled }); } releaseWindow() { this.canvas.release(); } resizeWindow(width, height) { this.canvas.resize(width, height); } setDpr(dpr) { this.canvas.dpr = dpr; } getContext() { return this.canvas.getContext(); } getNativeHandler() { return this.canvas; } getDpr() { return this.canvas.dpr; } getImageBuffer(type = "image/png") { return this.canvas.nativeCanvas.toBuffer(type); } addEventListener(type, listener, options) {} dispatchEvent(event) { return !0; } removeEventListener(type, listener, options) {} getStyle() {} setStyle(style) {} getBoundingClientRect() { return null; } clearViewBox(color) {} }; NodeWindowHandlerContribution.env = "node", NodeWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], NodeWindowHandlerContribution); export { NodeWindowHandlerContribution }; export const nodeWindowModule = new ContainerModule((bind => { bind(NodeWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(NodeWindowHandlerContribution))).whenTargetNamed(NodeWindowHandlerContribution.env); })); //# sourceMappingURL=node-contribution.js.map