public final void drawImage(Raster src, int srcX, int srcY, int dstX, int dstY, int w, int h, int bgColor) { if ((dstY < this.height) && (dstX < this.width)) { if (dstX < 0) { srcX -= dstX; w += dstX; dstX = 0; } if (dstY < 0) { srcY -= dstY; h += dstY; dstY = 0; } w = Math.min(w, width - dstX); h = Math.min(h, height - dstY); if ((w > 0) && (h > 0)) { doDrawImage(src, srcX, srcY, dstX, dstY, w, h, bgColor); } } }
public final void drawImage(Raster src, int srcX, int srcY, int dstX, int dstY, int w, int h) { if ((dstY < this.height) && (dstX < this.width)) { if (dstX < 0) { srcX -= dstX; w += dstX; dstX = 0; } if (dstY < 0) { srcY -= dstY; h += dstY; dstY = 0; } w = Math.min(w, width - dstX); h = Math.min(h, height - dstY); if ((w > 0) && (h > 0)) { doDrawImage(src, srcX, srcY, dstX, dstY, w, h); } } }
	public final void drawImage(Raster src, int srcX, int srcY, int dstX, int dstY, int w, int h, int bgColor) {		if ((dstY < this.height) && (dstX < this.width)) {			if (dstX < 0) {				srcX -= dstX;				w += dstX;				dstX = 0;			}			if (dstY < 0) {				srcY -= dstY;				h += dstY;				dstY = 0;			}			w = Math.min(w, width - dstX);			h = Math.min(h, height - dstY);			if ((w > 0) && (h > 0)) {				doDrawImage(src, srcX, srcY, dstX, dstY, w, h, bgColor);			}		}	}