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

#ifndef __java_awt_image_ShortLookupTable__
#define __java_awt_image_ShortLookupTable__

#pragma interface

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

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

class java::awt::image::ShortLookupTable : public ::java::awt::image::LookupTable
{

public:
  ShortLookupTable(jint, JArray< JArray< jshort > * > *);
  ShortLookupTable(jint, JArray< jshort > *);
  virtual JArray< JArray< jshort > * > * getTable();
  virtual JArray< jint > * lookupPixel(JArray< jint > *, JArray< jint > *);
  virtual JArray< jshort > * lookupPixel(JArray< jshort > *, JArray< jshort > *);
private:
  JArray< JArray< jshort > * > * __attribute__((aligned(__alignof__( ::java::awt::image::LookupTable)))) data;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_image_ShortLookupTable__
