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

#ifndef __javax_swing_LookAndFeel__
#define __javax_swing_LookAndFeel__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      class Component;
    }
  }
  namespace javax
  {
    namespace swing
    {
      class LookAndFeel;
      namespace text
      {
        class JTextComponent$KeyBinding;
      }
      class ComponentInputMap;
      class InputMap;
      class JComponent;
      class UIDefaults;
    }
  }
}

class javax::swing::LookAndFeel : public ::java::lang::Object
{
public:
  virtual ::javax::swing::UIDefaults *getDefaults () { return 0; }
  virtual ::java::lang::String *getDescription () = 0;
  static ::java::lang::Object *getDesktopPropertyValue (::java::lang::String *, ::java::lang::Object *);
  virtual ::java::lang::String *getID () = 0;
  virtual ::java::lang::String *getName () = 0;
  virtual jboolean getSupportsWindowDecorations ();
  virtual void initialize () { }
  static void installBorder (::javax::swing::JComponent *, ::java::lang::String *);
  static void installColors (::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::String *);
  static void installColorsAndFont (::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  virtual jboolean isNativeLookAndFeel () = 0;
  virtual jboolean isSupportedLookAndFeel () = 0;
  static void loadKeyBindings (::javax::swing::InputMap *, JArray< ::java::lang::Object *> *);
  static ::javax::swing::ComponentInputMap *makeComponentInputMap (::javax::swing::JComponent *, JArray< ::java::lang::Object *> *);
  static ::java::lang::Object *makeIcon (::java::lang::Class *, ::java::lang::String *);
  static ::javax::swing::InputMap *makeInputMap (JArray< ::java::lang::Object *> *);
  static JArray< ::javax::swing::text::JTextComponent$KeyBinding *> *makeKeyBindings (JArray< ::java::lang::Object *> *);
  virtual void provideErrorFeedback (::java::awt::Component *);
  virtual ::java::lang::String *toString ();
  virtual void uninitialize () { }
  static void uninstallBorder (::javax::swing::JComponent *);
  static void installProperty (::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::Object *);
  LookAndFeel ();

  friend class javax_swing_LookAndFeel$1;

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

#endif /* __javax_swing_LookAndFeel__ */
