@visactor/vrender-kits
Version:
## Description
111 lines (104 loc) • 4.09 kB
JavaScript
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