240241242243244245246247248249250
cycleFillRaster(pixels, off, adjust, w, h, rowrel, dx, dy); } else { clipFillRaster(pixels, off, adjust, w, h, rowrel, dx, dy); } irast.markDirty(); return rast; } void cycleFillRaster(int[] pixels, int off, int adjust, int w, int h,
7071727374757677787980
if (t == null || w > t.getWidth() || h > t.getHeight()) { t = getColorModel().createCompatibleWritableRaster(w, h); IntegerComponentRaster icr = (IntegerComponentRaster) t; Arrays.fill(icr.getDataStorage(), color); // Note - markDirty is probably unnecessary since icr is brand new icr.markDirty(); if (w <= 64 && h <= 64) { savedTile = t; } }
147148149150151152153154155156157
rowoff += dstScan; } } // Pixels in the dest were modified directly, we must // manually notify the raster that it was modified icr.markDirty(); // REMIND: We need to do something to make sure that dstRast // is put back to the destination (as in the native Release // function) // src.releaseRaster(srcRast); // NOP? // dst.releaseRaster(dstRast);
470471472473474475476477478479480
if (s_useNative) { // Note that setICMpixels modifies the raster directly // so we must mark it as changed afterwards setICMpixels(x, y, w, h, srcLUT, pix, off, scansize, iraster); iraster.markDirty(); } else { int[] storage = new int[w*h]; int soff = 0; // It is an IndexColorModel
597598599600601602603604605606607
System.arraycopy(pix, lineOff, data, doff, w); doff += sstride; } // Note: manual modification of pixels, mark the // raster as changed iraster.markDirty(); } else { for (yoff=y; yoff < y+h; yoff++, lineOff += scansize) { poff = lineOff; for (int i=0; i < w; i++) {