/** * @inheritDoc */ @Override public void setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) { setSamplesFast(x, y, w, h, obj, ImageUtils.getPrimitiveArray(data), data.getOffset()); }
public ScanlineCursor(Raster raster) { // the data buffer can have lines that are longer than width * bytes per pixel, can have // extra at the end this.scanlineStride = getScanlineStride(raster); // the data buffer itself could be longer this.position = raster.getDataBuffer().getOffset(); this.maxPosition = raster.getDataBuffer().getSize(); }
/** * @inheritDoc */ @Override public Object getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) { if (obj == null) { obj = ImageUtils.createDataBufferArray(data.getDataType(), w * h); } getSamplesFast(x, y, w, h, obj, ImageUtils.getPrimitiveArray(data), data.getOffset()); return obj; }
/** * @inheritDoc */ @Override public void setSamples(int x, int y, int w, int h, int b, float array[], DataBuffer data) { checkBounds(x, y, w, h); if (dataType == DataBuffer.TYPE_FLOAT) { setSamplesFast(x, y, w, h, array, ((DataBufferFloat) data).getData(), data.getOffset()); } else { super.setSamples(x, y, w, h, b, array, data); } }
/** * @inheritDoc */ @Override public void setSamples(int x, int y, int w, int h, int b, int array[], DataBuffer data) { checkBounds(x, y, w, h); if (dataType == DataBuffer.TYPE_INT) { setSamplesFast(x, y, w, h, array, ((DataBufferInt) data).getData(), data.getOffset()); } else { super.setSamples(x, y, w, h, b, array, data); } }
/** * @inheritDoc */ @Override public void setSamples(int x, int y, int w, int h, int b, double array[], DataBuffer data) { checkBounds(x, y, w, h); if (dataType == DataBuffer.TYPE_DOUBLE) { setSamplesFast(x, y, w, h, array, ((DataBufferDouble) data).getData(), data.getOffset()); } else { super.setSamples(x, y, w, h, b, array, data); } }
static void writeTile(ImageOutputStream stream, Raster tile) throws IOException { if (tile.getSampleModel().getNumDataElements() != tile.getDataBuffer().getSize()) { // todo - log error throw new IllegalStateException(); } DataBuffer dataBuffer = tile.getDataBuffer(); if (dataBuffer instanceof DataBufferByte) { byte[] data = ((DataBufferByte) dataBuffer).getData(); stream.write(data, dataBuffer.getOffset(), dataBuffer.getSize()); } else if (dataBuffer instanceof DataBufferShort) { short[] data = ((DataBufferShort) dataBuffer).getData(); stream.writeShorts(data, dataBuffer.getOffset(), dataBuffer.getSize()); } else if (dataBuffer instanceof DataBufferInt) { int[] data = ((DataBufferInt) dataBuffer).getData(); stream.writeInts(data, dataBuffer.getOffset(), dataBuffer.getSize()); } else if (dataBuffer instanceof DataBufferFloat) { float[] data = ((DataBufferFloat) dataBuffer).getData(); stream.writeFloats(data, dataBuffer.getOffset(), dataBuffer.getSize()); } else if (dataBuffer instanceof DataBufferDouble) { double[] data = ((DataBufferDouble) dataBuffer).getData(); stream.writeDoubles(data, dataBuffer.getOffset(), dataBuffer.getSize()); } else { throw new IllegalStateException(); } }
/** * @inheritDoc */ @Override public double[] getSamples(int x, int y, int w, int h, int b, double array[], DataBuffer data) { checkBounds(x, y, w, h); if (array == null) { array = new double[w * h]; } if (dataType == DataBuffer.TYPE_DOUBLE) { getSamplesFast(x, y, w, h, array, ((DataBufferDouble) data).getData(), data.getOffset()); } else { super.getSamples(x, y, w, h, b, array, data); } return array; }
/** * @inheritDoc */ @Override public int[] getSamples(int x, int y, int w, int h, int b, int array[], DataBuffer data) { checkBounds(x, y, w, h); if (array == null) { array = new int[w * h]; } if (dataType == DataBuffer.TYPE_INT) { getSamplesFast(x, y, w, h, array, ((DataBufferInt) data).getData(), data.getOffset()); } else { super.getSamples(x, y, w, h, b, array, data); } return array; }
/** * @inheritDoc */ @Override public float[] getSamples(int x, int y, int w, int h, int b, float array[], DataBuffer data) { checkBounds(x, y, w, h); if (array == null) { array = new float[w * h]; } if (dataType == DataBuffer.TYPE_FLOAT) { getSamplesFast(x, y, w, h, array, ((DataBufferFloat) data).getData(), data.getOffset()); } else { super.getSamples(x, y, w, h, b, array, data); } return array; }
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
int eltOffset = dataBuffer.getOffset() + mpp.getOffset(dx, dy); int bitOffset = mpp.getBitOffset(dx);
&& buffer.getOffset() == 0 && buffer.getNumBanks() == 1) { this.firstTileDump = true;
int dbI0 = db.getOffset(); this.scanlineStride = sm.getScanlineStride(); this.scanlineOffset = smY0 * scanlineStride + smX0 + dbI0;