'use strict'; function ThreeDHandler(canvas) { var _overlay = new fabric.Group(); var _image; function init() { _overlay .set({ visible: false }) .addWithUpdate(new fabric.Rect({ width: canvas.width, height: canvas.height - 60, top: 60, left: 0, fill: canvas.backgroundColor, })); canvas.add(_overlay); } init(); /** * @return {ThreeDHandler} */ this.disable = function () { _overlay.setVisible(false).canvas.renderAll(); return this; }; /** * @return {ThreeDHandler} */ this.enable = function () { _overlay.setVisible(true).canvas.renderAll(); return this; }; /** * @return {ThreeDHandler} */ this.setImage = function (img) { img.set({ originX: 'center', originY: 'center', }); _overlay .remove(_image) .add(_image = img); return this.enable(); }; } module.exports = ThreeDHandler;