draw() {
        //        
        if (this.label.length === 0 && simulationArea.lastSelected !== this) this.delete();
        var ctx = simulationArea.context;
        ctx.strokeStyle = colors['stroke'];
        ctx.lineWidth = 1;
        const xx = this.x;
        const yy = this.y;
        if ((this.hover && !simulationArea.shiftDown) || simulationArea.lastSelected === this || simulationArea.multipleObjectSelections.contains(this)) {
            ctx.beginPath();
            ctx.fillStyle = colors['fill'];
            const magicDimension = this.fontSize - 14;
            rect2(ctx, -this.leftDimensionX, -this.upDimensionY - magicDimension,
                this.leftDimensionX + this.rightDimensionX,
                this.upDimensionY + this.downDimensionY + magicDimension, this.x, this.y, 'RIGHT');
            ctx.fillStyle = 'rgba(255, 255, 32,0.1)';
            ctx.fill();
            ctx.stroke();
        }
        ctx.beginPath();
        ctx.textAlign = 'left';
        ctx.fillStyle = colors['text'];
        var labels = this.label.split('\n');
        for(var i = 0; i < labels.length; i++) {
            fillText(ctx, labels[i], xx, yy + 5 + i * this.fontSize, this.fontSize);
        }
        ctx.fill();
    }
@memberof Text
Function for drawing text box