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

#ifndef __javax_swing_text_DefaultCaret__
#define __javax_swing_text_DefaultCaret__

#pragma interface

#include <java/awt/Rectangle.h>

extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace event
      {
        class ChangeListener;
      }
      namespace text
      {
        class DefaultCaret;
        class JTextComponent;
      }
    }
  }
  namespace java
  {
    namespace awt
    {
      class Graphics;
      namespace event
      {
        class FocusEvent;
        class MouseEvent;
      }
      class Point;
      class Color;
    }
  }
};

class ::javax::swing::text::DefaultCaret : public ::java::awt::Rectangle
{
public:
  virtual void mouseDragged (::java::awt::event::MouseEvent *) { }
  virtual void mouseMoved (::java::awt::event::MouseEvent *) { }
  virtual void mouseClicked (::java::awt::event::MouseEvent *) { }
  virtual void mouseEntered (::java::awt::event::MouseEvent *) { }
  virtual void mouseExited (::java::awt::event::MouseEvent *) { }
  virtual void mousePressed (::java::awt::event::MouseEvent *) { }
  virtual void mouseReleased (::java::awt::event::MouseEvent *) { }
  virtual void focusGained (::java::awt::event::FocusEvent *) { }
  virtual void focusLost (::java::awt::event::FocusEvent *) { }
  virtual void deinstall (::javax::swing::text::JTextComponent *);
  virtual void install (::javax::swing::text::JTextComponent *);
  virtual void setMagicCaretPosition (::java::awt::Point *);
  virtual ::java::awt::Point *getMagicaretPosition () { return magic; }
  virtual jint getMark () { return mark; }
  virtual void setSelectionVisible (jboolean);
  virtual jboolean isSelectionVisible () { return vis_sel; }
private:
  void repaint ();
public:
  virtual void paint (::java::awt::Graphics *);
  virtual void addChangeListener (::javax::swing::event::ChangeListener *);
  virtual void removeChangeListener (::javax::swing::event::ChangeListener *);
  virtual jint getBlinkRate () { return blink; }
  virtual void setBlinkRate (jint);
  virtual jint getDot () { return dot; }
  virtual void moveDot (jint);
  virtual void setDot (jint);
  virtual jboolean isVisible () { return vis; }
  virtual void setVisible (jboolean);
  DefaultCaret ();
public: // actually package-private
  ::java::awt::Color * __attribute__((aligned(__alignof__( ::java::awt::Rectangle )))) color;
  ::javax::swing::text::JTextComponent *parent;
  ::java::awt::Point *magic;
  jint mark;
  jboolean vis_sel;
  ::java::util::Vector *changes;
  jint blink;
  jint dot;
  jboolean vis;
public:

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

#endif /* __javax_swing_text_DefaultCaret__ */
