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

#ifndef __java_awt_image_MemoryImageSource__
#define __java_awt_image_MemoryImageSource__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace image
      {
        class MemoryImageSource;
        class ImageConsumer;
        class ColorModel;
      }
    }
  }
};

class ::java::awt::image::MemoryImageSource : public ::java::lang::Object
{
public:
  MemoryImageSource (jint, jint, ::java::awt::image::ColorModel *, jbyteArray, jint, jint);
  MemoryImageSource (jint, jint, ::java::awt::image::ColorModel *, jbyteArray, jint, jint, ::java::util::Hashtable *);
  MemoryImageSource (jint, jint, ::java::awt::image::ColorModel *, jintArray, jint, jint);
  MemoryImageSource (jint, jint, ::java::awt::image::ColorModel *, jintArray, jint, jint, ::java::util::Hashtable *);
  MemoryImageSource (jint, jint, jintArray, jint, jint, ::java::util::Hashtable *);
  MemoryImageSource (jint, jint, jbyteArray, jint, jint);
  virtual void addConsumer (::java::awt::image::ImageConsumer *);
  virtual jboolean isConsumer (::java::awt::image::ImageConsumer *);
  virtual void removeConsumer (::java::awt::image::ImageConsumer *);
  virtual void startProduction (::java::awt::image::ImageConsumer *);
  virtual void requestTopDownLeftRightResend (::java::awt::image::ImageConsumer *);
  virtual void setAnimated (jboolean);
  virtual void setFullBufferUpdates (jboolean);
  virtual void newPixels ();
private:
  void sendPicture (::java::awt::image::ImageConsumer *);
public:
  virtual void newPixels (jint, jint, jint, jint);
  virtual void newPixels (jint, jint, jint, jint, jboolean);
  virtual void newPixels (jbyteArray, ::java::awt::image::ColorModel *, jint, jint);
  virtual void newPixels (jintArray, ::java::awt::image::ColorModel *, jint, jint);
private:
  jboolean animated;
  jboolean fullbuffers;
  jintArray pixeli;
  jint width;
  jint height;
  jint offset;
  jint scansize;
  jbyteArray pixelb;
  ::java::awt::image::ColorModel *cm;
  ::java::util::Hashtable *props;
  ::java::util::Hashtable *consumers;
public:

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

#endif /* __java_awt_image_MemoryImageSource__ */
