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

#ifndef __gnu_gcj_xlib_XImage__
#define __gnu_gcj_xlib_XImage__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
        class RawData;
      namespace xlib
      {
          class Visual;
          class XImage;
      }
    }
  }
}

class gnu::gcj::xlib::XImage : public ::java::lang::Object
{

public:
  XImage(::gnu::gcj::xlib::Visual *, jint, jint, jint, jint, jint, jint, jint);
  XImage(::gnu::gcj::xlib::Visual *, jint, jint, jint, jint, jint, jint, jint, jint);
  virtual void init(::gnu::gcj::xlib::Visual *, jint, jint, jint, jint, jint, jint, jint, jint);
private:
  void init(::gnu::gcj::xlib::Visual *, jint, jint);
public:
  XImage(::gnu::gcj::xlib::Visual *, jint, jint);
  XImage(::gnu::gcj::xlib::Visual *, jint, jint, jboolean);
  virtual void setData(JArray< jbyte > *, jint);
  virtual void setData(JArray< jshort > *, jint);
  virtual void setData(JArray< jint > *, jint);
private:
  void internalSetData(JArray< jbyte > *, jint);
  void internalSetData(JArray< jshort > *, jint);
  void internalSetData(JArray< jint > *, jint);
public: // actually protected
  virtual void finalize();
public:
  virtual jint getWidth();
  virtual jint getHeight();
  virtual jint getDepth();
  virtual jint getFormat();
  virtual jboolean isZPixmapFormat();
  virtual jint getXOffset();
  virtual jint getBytesPerLine();
  virtual jint getBitsPerPixel();
  virtual jint getImageByteOrder();
  virtual jint getBitmapBitOrder();
  virtual jint getBitmapUnit();
  virtual jint getBitmapPad();
  virtual jint getRedMask();
  virtual jint getGreenMask();
  virtual jint getBlueMask();
  virtual void setPixel(jint, jint, jint);
  virtual ::java::lang::String * toString();
public: // actually package-private
  ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dataRef;
public:
  static const jint XYBITMAP_FORMAT = 0;
  static const jint XYPIXMAP_FORMAT = 1;
  static const jint ZPIXMAP_FORMAT = 2;
  static const jint LEAST_SIGNIFICANT_B_FIRST_ORDER = 0;
  static const jint MOST_SIGNIFICANT_B_FIRST_ORDER = 1;
public: // actually package-private
  jboolean ownsData;
  ::gnu::gcj::RawData * structure;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_xlib_XImage__
