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

#ifndef __java_awt_event_MouseMotionListener__
#define __java_awt_event_MouseMotionListener__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace event
      {
          class MouseEvent;
          class MouseMotionListener;
      }
    }
  }
}

class java::awt::event::MouseMotionListener : public ::java::lang::Object
{

public:
  virtual void mouseDragged(::java::awt::event::MouseEvent *) = 0;
  virtual void mouseMoved(::java::awt::event::MouseEvent *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_awt_event_MouseMotionListener__
