Files
konva/konva-node/index.js
Slawa Pidgorny 28b1c1cedd Tabs -> spaces
2021-03-17 14:06:03 +01:00

48 lines
985 B
JavaScript

var Konva = require('konva');
var canvas = require('canvas');
// mock window
Konva.window = {
Image: canvas.Image,
devicePixelRatio: 1,
};
// mock document
Konva.document = {
createElement: function () {},
documentElement: {
addEventListener: function () {},
},
};
// make some global injections
global.requestAnimationFrame = (cb) => {
setImmediate(cb);
};
// create canvas in Node env
Konva.Util.createCanvasElement = () => {
const node = new canvas.Canvas();
node.style = {};
return node;
};
// create image in Node env
Konva.Util.createImageElement = () => {
const node = new canvas.Image();
node.style = {};
return node;
};
Konva.Util._urlToImage = (url, callback) => {
const imageObj = Konva.Util.createImageElement();
imageObj.onload = function () {
callback(imageObj);
};
imageObj.src = url;
};
// _checkVisibility use dom element, in node we can skip it
Konva.Stage.prototype._checkVisibility = () => {};
module.exports = Konva;