docs: private static void drawLine(int x0, int y0, int x1, int y1, boolean[][] pic) {
      final int xres = pic.length, yres = pic[0].length;
      // Ensure bounds
      y0 = (y0 < 0) ? 0 : (y0 >= yres) ? (yres - 1) : y0;
      y1 = (y1 < 0) ? 0 : (y1 >= yres) ? (yres - 1) : y1;
      x0 = (x0 < 0) ? 0 : (x0 >= xres) ? (xres - 1) : x0;
      x1 = (x1 < 0) ? 0 : (x1 >= xres) ? (xres - 1) : x1;
      // Default slope
      final int dx = +Math.abs(x1 - x0), sx = x0 < x1 ? 1 : -1;
      final int dy = -Math.abs(y1 - y0), sy = y0 < y1 ? 1 : -1;
      // Error counter
      int err = dx + dy;
  
      for(;;) {
        pic[x0][y0] = true;
        if(x0 == x1 && y0 == y1) {
          break;
        }
  
        final int e2 = err << 1;
        if(e2 > dy) {
          err += dy;
          x0 += sx;
        }
        if(e2 < dx) {
          err += dx;
          y0 += sy;
        }
      }
    }