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

#ifndef __gnu_java_awt_ClasspathGraphicsEnvironment__
#define __gnu_java_awt_ClasspathGraphicsEnvironment__

#pragma interface

#include <java/awt/GraphicsEnvironment.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
          class ClasspathGraphicsEnvironment;
      }
    }
  }
  namespace java
  {
    namespace awt
    {
      namespace image
      {
          class ColorModel;
          class SampleModel;
          class WritableRaster;
      }
    }
  }
}

class gnu::java::awt::ClasspathGraphicsEnvironment : public ::java::awt::GraphicsEnvironment
{

public:
  ClasspathGraphicsEnvironment();
  virtual ::java::awt::image::WritableRaster * createRaster(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_ClasspathGraphicsEnvironment__
