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

#ifndef __java_awt_image_Kernel__
#define __java_awt_image_Kernel__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace image
      {
          class Kernel;
      }
    }
  }
}

class java::awt::image::Kernel : public ::java::lang::Object
{

public:
  Kernel(jint, jint, JArray< jfloat > *);
  virtual jint getXOrigin();
  virtual jint getYOrigin();
  virtual jint getWidth();
  virtual jint getHeight();
  virtual JArray< jfloat > * getKernelData(JArray< jfloat > *);
  virtual ::java::lang::Object * clone();
private:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) width;
  jint height;
  JArray< jfloat > * data;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_image_Kernel__
