draw(ctx, x, y, selected, hover, values) {
    this.resize(ctx, selected, hover);
    this.left = x - this.width / 2;
    this.top = y - this.height / 2;

    this.initContextForDraw(ctx, values);
    drawRoundRect(
      ctx,
      this.left,
      this.top,
      this.width,
      this.height,
      values.borderRadius
    );
    this.performFill(ctx, values);

    this.updateBoundingBox(x, y, ctx, selected, hover);
    this.labelModule.draw(
      ctx,
      this.left + this.textSize.width / 2 + this.margin.left,
      this.top + this.textSize.height / 2 + this.margin.top,
      selected,
      hover
    );
  }
@param {CanvasRenderingContext2D} ctx
@param {number} x width
@param {number} y height
@param {boolean} selected
@param {boolean} hover
@param {ArrowOptions} values