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

#ifndef __java_awt_image_LookupTable__
#define __java_awt_image_LookupTable__

#pragma interface

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

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

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

public: // actually protected
  LookupTable(jint, jint);
public:
  virtual jint getNumComponents();
  virtual jint getOffset();
  virtual JArray< jint > * lookupPixel(JArray< jint > *, JArray< jint > *) = 0;
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) offset;
  jint numComponents;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_image_LookupTable__
