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

#ifndef __java_awt_Toolkit__
#define __java_awt_Toolkit__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace net
    {
      class URL;
    }
    namespace beans
    {
      class PropertyChangeListener;
      class PropertyChangeSupport;
    }
    namespace awt
    {
      namespace im
      {
        class InputMethodHighlight;
      }
      class AWTEvent;
      namespace dnd
      {
        class DragGestureRecognizer;
        class DragGestureListener;
        class DragSource;
        namespace peer
        {
          class DragSourceContextPeer;
        }
        class DragGestureEvent;
      }
      class EventQueue;
      class Cursor;
      class Point;
      class Container;
      namespace datatransfer
      {
        class Clipboard;
      }
      class PageAttributes;
      class JobAttributes;
      class PrintJob;
      class Image;
      class FontMetrics;
      class Font;
      namespace image
      {
        class ImageProducer;
        class ImageObserver;
        class ColorModel;
      }
      class Insets;
      class GraphicsConfiguration;
      class Dimension;
      class Component;
      class CheckboxMenuItem;
      class FileDialog;
      class MenuItem;
      class PopupMenu;
      class Menu;
      class MenuBar;
      class Dialog;
      class Window;
      class Panel;
      class Canvas;
      class Frame;
      class Choice;
      class TextArea;
      class ScrollPane;
      class Scrollbar;
      class Checkbox;
      class List;
      class Label;
      class TextField;
      namespace peer
      {
        class FontPeer;
        class LightweightPeer;
        class CheckboxMenuItemPeer;
        class FileDialogPeer;
        class MouseInfoPeer;
        class MenuItemPeer;
        class PopupMenuPeer;
        class MenuPeer;
        class MenuBarPeer;
        class DialogPeer;
        class WindowPeer;
        class PanelPeer;
        class CanvasPeer;
        class FramePeer;
        class ChoicePeer;
        class TextAreaPeer;
        class ScrollPanePeer;
        class ScrollbarPeer;
        class CheckboxPeer;
        class ListPeer;
        class LabelPeer;
        class TextFieldPeer;
        class ButtonPeer;
      }
      class Button;
      namespace event
      {
        class AWTEventListener;
        class AWTEventListenerProxy;
      }
      class Toolkit;
    }
  }
}

class java::awt::Toolkit : public ::java::lang::Object
{
public:
  Toolkit ();
public:  // actually protected
  virtual ::java::awt::peer::ButtonPeer *createButton (::java::awt::Button *) = 0;
  virtual ::java::awt::peer::TextFieldPeer *createTextField (::java::awt::TextField *) = 0;
  virtual ::java::awt::peer::LabelPeer *createLabel (::java::awt::Label *) = 0;
  virtual ::java::awt::peer::ListPeer *createList (::java::awt::List *) = 0;
  virtual ::java::awt::peer::CheckboxPeer *createCheckbox (::java::awt::Checkbox *) = 0;
  virtual ::java::awt::peer::ScrollbarPeer *createScrollbar (::java::awt::Scrollbar *) = 0;
  virtual ::java::awt::peer::ScrollPanePeer *createScrollPane (::java::awt::ScrollPane *) = 0;
  virtual ::java::awt::peer::TextAreaPeer *createTextArea (::java::awt::TextArea *) = 0;
  virtual ::java::awt::peer::ChoicePeer *createChoice (::java::awt::Choice *) = 0;
  virtual ::java::awt::peer::FramePeer *createFrame (::java::awt::Frame *) = 0;
  virtual ::java::awt::peer::CanvasPeer *createCanvas (::java::awt::Canvas *) = 0;
  virtual ::java::awt::peer::PanelPeer *createPanel (::java::awt::Panel *) = 0;
  virtual ::java::awt::peer::WindowPeer *createWindow (::java::awt::Window *) = 0;
  virtual ::java::awt::peer::DialogPeer *createDialog (::java::awt::Dialog *) = 0;
  virtual ::java::awt::peer::MenuBarPeer *createMenuBar (::java::awt::MenuBar *) = 0;
  virtual ::java::awt::peer::MenuPeer *createMenu (::java::awt::Menu *) = 0;
  virtual ::java::awt::peer::PopupMenuPeer *createPopupMenu (::java::awt::PopupMenu *) = 0;
  virtual ::java::awt::peer::MenuItemPeer *createMenuItem (::java::awt::MenuItem *) = 0;
  virtual ::java::awt::peer::MouseInfoPeer *getMouseInfoPeer ();
  virtual ::java::awt::peer::FileDialogPeer *createFileDialog (::java::awt::FileDialog *) = 0;
  virtual ::java::awt::peer::CheckboxMenuItemPeer *createCheckboxMenuItem (::java::awt::CheckboxMenuItem *) = 0;
  virtual ::java::awt::peer::LightweightPeer *createComponent (::java::awt::Component *);
  virtual ::java::awt::peer::FontPeer *getFontPeer (::java::lang::String *, jint) = 0;
  virtual void loadSystemColors (jintArray);
public:
  virtual void setDynamicLayout (jboolean) { }
public:  // actually protected
  virtual jboolean isDynamicLayoutSet ();
public:
  virtual jboolean isDynamicLayoutActive ();
  virtual ::java::awt::Dimension *getScreenSize () = 0;
  virtual jint getScreenResolution () = 0;
  virtual ::java::awt::Insets *getScreenInsets (::java::awt::GraphicsConfiguration *);
  virtual ::java::awt::image::ColorModel *getColorModel () = 0;
  virtual JArray< ::java::lang::String *> *getFontList () = 0;
  virtual ::java::awt::FontMetrics *getFontMetrics (::java::awt::Font *) = 0;
  virtual void sync () = 0;
  static ::java::awt::Toolkit *getDefaultToolkit ();
  virtual ::java::awt::Image *getImage (::java::lang::String *) = 0;
  virtual ::java::awt::Image *getImage (::java::net::URL *) = 0;
  virtual ::java::awt::Image *createImage (::java::lang::String *) = 0;
  virtual ::java::awt::Image *createImage (::java::net::URL *) = 0;
  virtual jboolean prepareImage (::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0;
  virtual jint checkImage (::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0;
  virtual ::java::awt::Image *createImage (::java::awt::image::ImageProducer *) = 0;
  virtual ::java::awt::Image *createImage (jbyteArray);
  virtual ::java::awt::Image *createImage (jbyteArray, jint, jint) = 0;
  virtual ::java::awt::PrintJob *getPrintJob (::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *) = 0;
  virtual ::java::awt::PrintJob *getPrintJob (::java::awt::Frame *, ::java::lang::String *, ::java::awt::JobAttributes *, ::java::awt::PageAttributes *);
  virtual void beep () = 0;
  virtual ::java::awt::datatransfer::Clipboard *getSystemClipboard () = 0;
  virtual ::java::awt::datatransfer::Clipboard *getSystemSelection () { return 0; }
  virtual jint getMenuShortcutKeyMask ();
  virtual jboolean getLockingKeyState (jint);
  virtual void setLockingKeyState (jint, jboolean);
public:  // actually protected
  static ::java::awt::Container *getNativeContainer (::java::awt::Component *);
public:
  virtual ::java::awt::Cursor *createCustomCursor (::java::awt::Image *, ::java::awt::Point *, ::java::lang::String *);
  virtual ::java::awt::Dimension *getBestCursorSize (jint, jint);
  virtual jint getMaximumCursorColors ();
  virtual jboolean isFrameStateSupported (jint);
  static ::java::lang::String *getProperty (::java::lang::String *, ::java::lang::String *);
  virtual ::java::awt::EventQueue *getSystemEventQueue ();
public:  // actually protected
  virtual ::java::awt::EventQueue *getSystemEventQueueImpl () = 0;
public:
  virtual ::java::awt::dnd::peer::DragSourceContextPeer *createDragSourceContextPeer (::java::awt::dnd::DragGestureEvent *) = 0;
  virtual ::java::awt::dnd::DragGestureRecognizer *createDragGestureRecognizer (::java::lang::Class *, ::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *) { return 0; }
  virtual ::java::lang::Object *getDesktopProperty (::java::lang::String *);
public:  // actually protected
  virtual void setDesktopProperty (::java::lang::String *, ::java::lang::Object *);
  virtual ::java::lang::Object *lazilyLoadDesktopProperty (::java::lang::String *) { return 0; }
  virtual void initializeDesktopProperties () { }
public:
  virtual void addPropertyChangeListener (::java::lang::String *, ::java::beans::PropertyChangeListener *);
  virtual void removePropertyChangeListener (::java::lang::String *, ::java::beans::PropertyChangeListener *);
  virtual JArray< ::java::beans::PropertyChangeListener *> *getPropertyChangeListeners ();
  virtual JArray< ::java::beans::PropertyChangeListener *> *getPropertyChangeListeners (::java::lang::String *);
  virtual void addAWTEventListener (::java::awt::event::AWTEventListener *, jlong);
  virtual void removeAWTEventListener (::java::awt::event::AWTEventListener *);
  virtual JArray< ::java::awt::event::AWTEventListener *> *getAWTEventListeners ();
  virtual JArray< ::java::awt::event::AWTEventListener *> *getAWTEventListeners (jlong);
public: // actually package-private
  virtual void globalDispatchEvent (::java::awt::AWTEvent *);
public:
  virtual ::java::util::Map *mapInputMethodHighlight (::java::awt::im::InputMethodHighlight *) = 0;
private:
  static void initAccessibility ();
  static ::java::lang::String *default_toolkit_name;
  static ::java::awt::Toolkit *toolkit;
  static ::java::util::Properties *props;
public:  // actually protected
  ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object )))) desktopProperties;
  ::java::beans::PropertyChangeSupport *desktopPropsSupport;
public: // actually package-private
  JArray< ::java::awt::event::AWTEventListenerProxy *> *awtEventListeners;

  friend class java_awt_Toolkit$2;
  friend class java_awt_Toolkit$1;
public:

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

#endif /* __java_awt_Toolkit__ */
