function Pointer(offset = new Position(), color = new Color()) { this.offset = offset; this.color = color; this.mirror = null; this.position_prev = null; this.draw = function() { if(!this.position_prev){this.position_prev = this.position(); } /* Verteces var id = context.createImageData(1,1); var d = id.data; d[0] = 0; d[1] = 0; d[2] = 0; d[3] = 255; context.putImageData(id,this.position().x,this.position().y); */ context.beginPath(); context.moveTo(this.position_prev.x,this.position_prev.y); context.lineTo(this.position().x,this.position().y); context.lineCap="round"; var thick = 100 - ((this.position().distance_to(this.position_prev))); context.lineWidth = thick/20; context.strokeStyle = this.color.hex(); context.stroke(); this.position_prev = this.position(); } this.position = function() { if(this.mirror){ return new Position(500 - (brush.position.x + this.offset.x), brush.position.y + this.offset.y); } return new Position(brush.position.x + this.offset.x, brush.position.y + this.offset.y); } this.start = function() { } this.stop = function() { this.position_prev = null; } }