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

#ifndef __java_awt_image_ComponentSampleModel__
#define __java_awt_image_ComponentSampleModel__

#pragma interface

#include <java/awt/image/SampleModel.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace image
      {
        class ComponentSampleModel;
        class DataBuffer;
        class SampleModel;
      }
    }
  }
}

class java::awt::image::ComponentSampleModel : public ::java::awt::image::SampleModel
{
public:
  ComponentSampleModel (jint, jint, jint, jint, jint, jintArray);
  ComponentSampleModel (jint, jint, jint, jint, jint, jintArray, jintArray);
  virtual ::java::awt::image::SampleModel *createCompatibleSampleModel (jint, jint);
  virtual ::java::awt::image::SampleModel *createSubsetSampleModel (jintArray);
  virtual ::java::awt::image::DataBuffer *createDataBuffer ();
  virtual jint getOffset (jint, jint);
  virtual jint getOffset (jint, jint, jint);
  virtual jintArray getSampleSize ();
  virtual jint getSampleSize (jint);
  virtual jintArray getBankIndices () { return bankIndices; }
  virtual jintArray getBandOffsets () { return bandOffsets; }
  virtual jint getScanlineStride () { return scanlineStride; }
  virtual jint getPixelStride () { return pixelStride; }
  virtual jint getNumDataElements () { return numBands; }
  virtual ::java::lang::Object *getDataElements (jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *);
  virtual ::java::lang::Object *getDataElements (jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *);
  virtual void setDataElements (jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *);
  virtual jintArray getPixel (jint, jint, jintArray, ::java::awt::image::DataBuffer *);
  virtual jintArray getPixels (jint, jint, jint, jint, jintArray, ::java::awt::image::DataBuffer *);
  virtual jint getSample (jint, jint, jint, ::java::awt::image::DataBuffer *);
  virtual void setDataElements (jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *);
  virtual void setPixel (jint, jint, jintArray, ::java::awt::image::DataBuffer *);
  virtual void setSample (jint, jint, jint, jint, ::java::awt::image::DataBuffer *);
public:  // actually protected
  jintArray __attribute__((aligned(__alignof__( ::java::awt::image::SampleModel ))))  bandOffsets;
  jintArray bankIndices;
  jint numBands;
  jint numBanks;
  jint scanlineStride;
  jint pixelStride;
private:
  jboolean tightPixelPacking;
public:

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

#endif /* __java_awt_image_ComponentSampleModel__ */
