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

#ifndef __java_awt_GraphicsDevice__
#define __java_awt_GraphicsDevice__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      class GraphicsDevice;
      class GraphicsConfigTemplate;
      class GraphicsConfiguration;
      class DisplayMode;
      class Rectangle;
      class Window;
    }
  }
}

class java::awt::GraphicsDevice : public ::java::lang::Object
{
public:  // actually protected
  GraphicsDevice ();
public:
  virtual jint getType () = 0;
  virtual ::java::lang::String *getIDstring () = 0;
  virtual JArray< ::java::awt::GraphicsConfiguration *> *getConfigurations () = 0;
  virtual ::java::awt::GraphicsConfiguration *getDefaultConfiguration () = 0;
  virtual ::java::awt::GraphicsConfiguration *getBestConfiguration (::java::awt::GraphicsConfigTemplate *);
  virtual jboolean isFullScreenSupported ();
  virtual void setFullScreenWindow (::java::awt::Window *);
  virtual ::java::awt::Window *getFullScreenWindow () { return full_screen; }
  virtual jboolean isDisplayChangeSupported ();
  virtual void setDisplayMode (::java::awt::DisplayMode *);
  virtual ::java::awt::DisplayMode *getDisplayMode () { return mode; }
  virtual JArray< ::java::awt::DisplayMode *> *getDisplayModes ();
  virtual jint getAvailableAcceleratedMemory ();
  static const jint TYPE_RASTER_SCREEN = 0L;
  static const jint TYPE_PRINTER = 1L;
  static const jint TYPE_IMAGE_BUFFER = 2L;
private:
  ::java::awt::Window * __attribute__((aligned(__alignof__( ::java::lang::Object )))) full_screen;
  ::java::awt::Rectangle *fullScreenOldBounds;
  ::java::awt::DisplayMode *mode;
public:

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

#endif /* __java_awt_GraphicsDevice__ */
