text: /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */
  const WbShape = require('./wb-tool-shape');
  const ToolUtil = require('./wb-tool-util');
  
  module.exports = class Rect extends WbShape {
  	constructor(wb, settings, sBtn) {
  		super(wb, sBtn);
  
  		this.internalActivate = () => {
  			ToolUtil.enableAllProps(settings, this);
  		};
  	}
  
  	createShape() {
  		this.obj = new fabric.Rect({
  			strokeWidth: this.stroke.width
  			, fill: this.fill.enabled ? this.fill.color : ToolUtil.noColor
  			, stroke: this.stroke.enabled ? this.stroke.color : ToolUtil.noColor
  			, opacity: this.opacity
  			, left: this.orig.x
  			, top: this.orig.y
  			, width: 0
  			, height: 0
  			, omType: 'rect'
  		});
  	}
  
  	updateShape(pointer) {
  		if (this.orig.x > pointer.x) {
  			this.obj.set({ left: pointer.x });
  		}
  		if (this.orig.y > pointer.y) {
  			this.obj.set({ top: pointer.y });
  		}
  		this.obj.set({
  			width: Math.abs(this.orig.x - pointer.x)
  			, height: Math.abs(this.orig.y - pointer.y)
  		});
  	}
  };
  