public void method354(IndexedSprite indexedSprite, int y, int x) {
		x += offsetX;
		y += offsetY;
		int destOff = x + y * Graphics2D.width;
		int srcOff = 0;
		int height = this.height;
		int width = this.width;
		int destStep = Graphics2D.width - width;
		int srcStep = 0;
		if (y < Graphics2D.topY) {
			int topMargin = Graphics2D.topY - y;
			height -= topMargin;
			y = Graphics2D.topY;
			srcOff += topMargin * width;
			destOff += topMargin * Graphics2D.width;
		}
		if (y + height > Graphics2D.bottomY) {
			height -= y + height - Graphics2D.bottomY;
		}
		if (x < Graphics2D.topX) {
			int leftMargin = Graphics2D.topX - x;
			width -= leftMargin;
			x = Graphics2D.topX;
			srcOff += leftMargin;
			destOff += leftMargin;
			srcStep += leftMargin;
			destStep += leftMargin;
		}
		if (x + width > Graphics2D.bottomX) {
			int rightMargin = x + width - Graphics2D.bottomX;
			width -= rightMargin;
			srcStep += rightMargin;
			destStep += rightMargin;
		}
		if (!(width <= 0 || height <= 0)) {
			method355(pixels, width, indexedSprite.pixels, height, Graphics2D.pixels, 0, destStep, destOff, srcStep, srcOff);
		}
	}