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

#ifndef __java_awt_dnd_DragSourceDragEvent__
#define __java_awt_dnd_DragSourceDragEvent__

#pragma interface

#include <java/awt/dnd/DragSourceEvent.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace dnd
      {
          class DragSourceContext;
          class DragSourceDragEvent;
      }
    }
  }
}

class java::awt::dnd::DragSourceDragEvent : public ::java::awt::dnd::DragSourceEvent
{

public:
  DragSourceDragEvent(::java::awt::dnd::DragSourceContext *, jint, jint, jint);
  DragSourceDragEvent(::java::awt::dnd::DragSourceContext *, jint, jint, jint, jint, jint);
  virtual jint getTargetActions();
  virtual jint getGestureModifiers();
  virtual jint getGestureModifiersEx();
  virtual jint getUserAction();
  virtual jint getDropAction();
private:
  static const jlong serialVersionUID = 481346297933902471LL;
  jint __attribute__((aligned(__alignof__( ::java::awt::dnd::DragSourceEvent)))) dropAction;
  jint targetActions;
  jint gestureModifiers;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_dnd_DragSourceDragEvent__
