// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_image_Raster__
#define __java_awt_image_Raster__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      class Rectangle;
      class Point;
      namespace image
      {
        class WritableRaster;
        class Raster;
        class DataBuffer;
        class SampleModel;
      }
    }
  }
}

class java::awt::image::Raster : public ::java::lang::Object
{
public:  // actually protected
  Raster (::java::awt::image::SampleModel *, ::java::awt::Point *);
  Raster (::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *);
  Raster (::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Rectangle *, ::java::awt::Point *, ::java::awt::image::Raster *);
public:
  static ::java::awt::image::WritableRaster *createInterleavedRaster (jint, jint, jint, jint, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createInterleavedRaster (jint, jint, jint, jint, jint, jintArray, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createBandedRaster (jint, jint, jint, jint, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createBandedRaster (jint, jint, jint, jint, jintArray, jintArray, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createPackedRaster (jint, jint, jint, jintArray, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createPackedRaster (jint, jint, jint, jint, jint, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createInterleavedRaster (::java::awt::image::DataBuffer *, jint, jint, jint, jint, jintArray, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createBandedRaster (::java::awt::image::DataBuffer *, jint, jint, jint, jintArray, jintArray, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createPackedRaster (::java::awt::image::DataBuffer *, jint, jint, jint, jintArray, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createPackedRaster (::java::awt::image::DataBuffer *, jint, jint, jint, ::java::awt::Point *);
  static ::java::awt::image::Raster *createRaster (::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createWritableRaster (::java::awt::image::SampleModel *, ::java::awt::Point *);
  static ::java::awt::image::WritableRaster *createWritableRaster (::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *);
  virtual ::java::awt::image::Raster *getParent () { return parent; }
  virtual jint getSampleModelTranslateX () { return sampleModelTranslateX; }
  virtual jint getSampleModelTranslateY () { return sampleModelTranslateY; }
  virtual ::java::awt::image::WritableRaster *createCompatibleWritableRaster ();
  virtual ::java::awt::image::WritableRaster *createCompatibleWritableRaster (jint, jint);
  virtual ::java::awt::image::WritableRaster *createCompatibleWritableRaster (::java::awt::Rectangle *);
  virtual ::java::awt::image::WritableRaster *createCompatibleWritableRaster (jint, jint, jint, jint);
  virtual ::java::awt::image::Raster *createTranslatedChild (jint, jint);
  virtual ::java::awt::image::Raster *createChild (jint, jint, jint, jint, jint, jint, jintArray);
  virtual ::java::awt::Rectangle *getBounds ();
  virtual jint getMinX () { return minX; }
  virtual jint getMinY () { return minY; }
  virtual jint getWidth () { return width; }
  virtual jint getHeight () { return height; }
  virtual jint getNumBands () { return numBands; }
  virtual jint getNumDataElements () { return numDataElements; }
  virtual jint getTransferType ();
  virtual ::java::awt::image::DataBuffer *getDataBuffer () { return dataBuffer; }
  virtual ::java::awt::image::SampleModel *getSampleModel () { return sampleModel; }
  virtual ::java::lang::Object *getDataElements (jint, jint, ::java::lang::Object *);
  virtual ::java::lang::Object *getDataElements (jint, jint, jint, jint, ::java::lang::Object *);
  virtual jintArray getPixel (jint, jint, jintArray);
  virtual jfloatArray getPixel (jint, jint, jfloatArray);
  virtual jdoubleArray getPixel (jint, jint, jdoubleArray);
  virtual jintArray getPixels (jint, jint, jint, jint, jintArray);
  virtual jfloatArray getPixels (jint, jint, jint, jint, jfloatArray);
  virtual jdoubleArray getPixels (jint, jint, jint, jint, jdoubleArray);
  virtual jint getSample (jint, jint, jint);
  virtual jfloat getSampleFloat (jint, jint, jint);
  virtual jdouble getSampleDouble (jint, jint, jint);
  virtual jintArray getSamples (jint, jint, jint, jint, jint, jintArray);
  virtual jfloatArray getSamples (jint, jint, jint, jint, jint, jfloatArray);
  virtual jdoubleArray getSamples (jint, jint, jint, jint, jint, jdoubleArray);
  virtual ::java::lang::String *toString ();
private:
  static jint getTypeBits (jint);
public:  // actually protected
  ::java::awt::image::SampleModel * __attribute__((aligned(__alignof__( ::java::lang::Object )))) sampleModel;
  ::java::awt::image::DataBuffer *dataBuffer;
  jint minX;
  jint minY;
  jint width;
  jint height;
  jint sampleModelTranslateX;
  jint sampleModelTranslateY;
  jint numBands;
  jint numDataElements;
  ::java::awt::image::Raster *parent;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_awt_image_Raster__ */
