customDraw() {
        var ctx = simulationArea.context;
        ctx.beginPath();
        ctx.strokeStyle = colors["stroke"];
        ctx.fillStyle = colors["fill"];
        ctx.lineWidth = correctWidth(1);
        const xx = this.x;
        const yy = this.y;

        rect2(
            ctx,
            -10 * this.bitWidth,
            -10,
            20 * this.bitWidth,
            20,
            xx,
            yy,
            "RIGHT"
        );
        if (
            (this.hover && !simulationArea.shiftDown) ||
            simulationArea.lastSelected === this ||
            simulationArea.multipleObjectSelections.contains(this)
        )
            ctx.fillStyle = colors["hover_select"];
        ctx.fill();
        ctx.stroke();

        ctx.beginPath();
        ctx.fillStyle = colors["input_text"];
        ctx.textAlign = "center";
        const bin = this.state; // dec2bin(this.state,this.bitWidth);
        for (let k = 0; k < this.bitWidth; k++) {
            fillText(
                ctx,
                bin[k],
                xx - 10 * this.bitWidth + 10 + k * 20,
                yy + 5
            );
        }
        ctx.fill();
    }
@memberof ConstantVal
function to draw element