59 lines
1.1 KiB
JavaScript
59 lines
1.1 KiB
JavaScript
'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;
|