java.awt.image

Class MultiPixelPackedSampleModel


public class MultiPixelPackedSampleModel
extends SampleModel

MultiPixelPackedSampleModel provides a single band model that supports multiple pixels in a single unit. Pixels have 2^n bits and 2^k pixels fit per data element.

Field Summary

Fields inherited from class java.awt.image.SampleModel

dataType, height, numBands, width

Constructor Summary

MultiPixelPackedSampleModel(int dataType, int w, int h, int numberOfBits)
MultiPixelPackedSampleModel(int dataType, int w, int h, int numberOfBits, int scanlineStride, int dataBitOffset)

Method Summary

SampleModel
createCompatibleSampleModel(int w, int h)
DataBuffer
createDataBuffer()
Creates a DataBuffer for holding pixel data in the format and layout described by this SampleModel.
SampleModel
createSubsetSampleModel(int[] bands)
int
getBitOffset(int x)
int
getDataBitOffset()
Object
getDataElements(int x, int y, Object obj, DataBuffer data)
Extract one pixel and return in an array of transfer type.
int
getNumDataElements()
int
getOffset(int x, int y)
int[]
getPixel(int x, int y, int[] iArray, DataBuffer data)
int
getPixelBitStride()
int[]
getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
int
getSample(int x, int y, int b, DataBuffer data)
int[]
getSampleSize()
int
getSampleSize(int band)
int
getScanlineStride()
void
setDataElements(int x, int y, Object obj, DataBuffer data)
Set the pixel at x, y to the value in the first element of the primitive array obj.
void
setPixel(int x, int y, int[] iArray, DataBuffer data)
void
setSample(int x, int y, int b, int s, DataBuffer data)
String
toString()
Creates a String with some information about this SampleModel.

Methods inherited from class java.awt.image.SampleModel

createCompatibleSampleModel, createDataBuffer, createSubsetSampleModel, getDataElements, getDataElements, getDataType, getHeight, getNumBands, getNumDataElements, getPixel, getPixel, getPixel, getPixels, getPixels, getPixels, getSample, getSampleDouble, getSampleFloat, getSampleSize, getSampleSize, getSamples, getSamples, getSamples, getTransferType, getWidth, setDataElements, setDataElements, setPixel, setPixel, setPixel, setPixels, setPixels, setPixels, setSample, setSample, setSample, setSamples, setSamples, setSamples

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

MultiPixelPackedSampleModel

public MultiPixelPackedSampleModel(int dataType,
                                   int w,
                                   int h,
                                   int numberOfBits)

MultiPixelPackedSampleModel

public MultiPixelPackedSampleModel(int dataType,
                                   int w,
                                   int h,
                                   int numberOfBits,
                                   int scanlineStride,
                                   int dataBitOffset)

Method Details

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)
Overrides:
createCompatibleSampleModel in interface SampleModel

createDataBuffer

public DataBuffer createDataBuffer()
Creates a DataBuffer for holding pixel data in the format and layout described by this SampleModel. The returned buffer will consist of one single bank.
Overrides:
createDataBuffer in interface SampleModel

createSubsetSampleModel

public SampleModel createSubsetSampleModel(int[] bands)
Overrides:
createSubsetSampleModel in interface SampleModel

getBitOffset

public int getBitOffset(int x)

getDataBitOffset

public int getDataBitOffset()

getDataElements

public Object getDataElements(int x,
                              int y,
                              Object obj,
                              DataBuffer data)
Extract one pixel and return in an array of transfer type. Extracts the pixel at x, y from data and stores into the 0th index of the array obj, since there is only one band. If obj is null, a new array of getTransferType() is created.
Overrides:
getDataElements in interface SampleModel
Parameters:
x - The x-coordinate of the pixel rectangle to store in obj.
y - The y-coordinate of the pixel rectangle to store in obj.
obj - The primitive array to store the pixels into or null to force creation.
data - The DataBuffer that is the source of the pixel data.
Returns:
The primitive array containing the pixel data.

getNumDataElements

public int getNumDataElements()
Overrides:
getNumDataElements in interface SampleModel

getOffset

public int getOffset(int x,
                     int y)

getPixel

public int[] getPixel(int x,
                      int y,
                      int[] iArray,
                      DataBuffer data)
Overrides:
getPixel in interface SampleModel

getPixelBitStride

public int getPixelBitStride()

getPixels

public int[] getPixels(int x,
                       int y,
                       int w,
                       int h,
                       int[] iArray,
                       DataBuffer data)
Overrides:
getPixels in interface SampleModel

getSample

public int getSample(int x,
                     int y,
                     int b,
                     DataBuffer data)
Overrides:
getSample in interface SampleModel

getSampleSize

public int[] getSampleSize()
Overrides:
getSampleSize in interface SampleModel

getSampleSize

public int getSampleSize(int band)
Overrides:
getSampleSize in interface SampleModel

getScanlineStride

public int getScanlineStride()

setDataElements

public void setDataElements(int x,
                            int y,
                            Object obj,
                            DataBuffer data)
Set the pixel at x, y to the value in the first element of the primitive array obj.
Overrides:
setDataElements in interface SampleModel
Parameters:
x - The x-coordinate of the data elements in obj.
y - The y-coordinate of the data elements in obj.
obj - The primitive array containing the data elements to set.
data - The DataBuffer to store the data elements into.

setPixel

public void setPixel(int x,
                     int y,
                     int[] iArray,
                     DataBuffer data)
Overrides:
setPixel in interface SampleModel

setSample

public void setSample(int x,
                      int y,
                      int b,
                      int s,
                      DataBuffer data)
Overrides:
setSample in interface SampleModel

toString

public String toString()
Creates a String with some information about this SampleModel.
Overrides:
toString in interface Object
Returns:
A String describing this SampleModel.

Copyright (C) 2004 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.