* @param yc y center
   * @param r radius
   */
  private void flat_circle_stroke(int xC, int yC, int r) {
    int x = 0, y = r, u = 1, v = 2 * r - 1, E = 0;
    while (x < y) {
      thin_point(xC + x, yC + y, strokeColor); // NNE
      thin_point(xC + y, yC - x, strokeColor); // ESE
      thin_point(xC - x, yC - y, strokeColor); // SSW
      thin_point(xC - y, yC + x, strokeColor); // WNW

      x++; E += u; u += 2;
      if (v < 2 * E) {
        y--; E -= v; v -= 2;
      }
      if (x > y) break;

      thin_point(xC + y, yC + x, strokeColor); // ENE
      thin_point(xC + x, yC - y, strokeColor); // SSE
      thin_point(xC - y, yC - x, strokeColor); // WSW
      thin_point(xC - x, yC + y, strokeColor); // NNW
    }
  }