code: public void roundRectangle(float x, float y, float w, float h, float r) {
          if (w < 0) {
              x += w;
              w = -w;
          }
          if (h < 0) {
              y += h;
              h = -h;
          }
          if (r < 0)
              r = -r;
          float b = 0.4477f;
          moveTo(x + r, y);
          lineTo(x + w - r, y);
          curveTo(x + w - r * b, y, x + w, y + r * b, x + w, y + r);
          lineTo(x + w, y + h - r);
          curveTo(x + w, y + h - r * b, x + w - r * b, y + h, x + w - r, y + h);
          lineTo(x + r, y + h);
          curveTo(x + r * b, y + h, x, y + h - r * b, x, y + h - r);
          lineTo(x, y + r);
          curveTo(x, y + r * b, x + r * b, y, x + r, y);
      }
docs: Adds a round rectangle to the current path.
  
  @param x x-coordinate of the starting point
  @param y y-coordinate of the starting point
  @param w width
  @param h height
  @param r radius of the arc corner