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

#ifndef __java_awt_dnd_Autoscroll__
#define __java_awt_dnd_Autoscroll__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Insets;
        class Point;
      namespace dnd
      {
          class Autoscroll;
      }
    }
  }
}

class java::awt::dnd::Autoscroll : public ::java::lang::Object
{

public:
  virtual ::java::awt::Insets * getAutoscrollInsets() = 0;
  virtual void autoscroll(::java::awt::Point *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_awt_dnd_Autoscroll__
