#ifndef QGRAPHICSSCENEEVENT_H
#define QGRAPHICSSCENEEVENT_H 
#include <QtCore/qcoreevent.h>
#include <QtCore/qpoint.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
struct QMimeData;
struct QWidget;
struct QGraphicsSceneEventPrivate;
class QGraphicsSceneEvent: public QEvent{
   public: QGraphicsSceneEvent(enum QEvent::Type type);
   public: virtual ~QGraphicsSceneEvent();
   public: struct QWidget* widget() const
   public: void setWidget(struct QWidget* widget);
   protected: QGraphicsSceneEvent(struct QGraphicsSceneEventPrivate& dd, enum QEvent::Type type = QEvent::None);
   protected: struct QGraphicsSceneEventPrivate* d_ptr;
   protected: inline struct QGraphicsSceneEventPrivate* d_func();
   protected: inline struct QGraphicsSceneEventPrivate const * d_func() const
   friend struct QGraphicsSceneEventPrivate;
};
struct QGraphicsSceneMouseEventPrivate;
class QGraphicsSceneMouseEvent: public QGraphicsSceneEvent{
   public: QGraphicsSceneMouseEvent(enum QEvent::Type type = QEvent::None);
   public: virtual ~QGraphicsSceneMouseEvent();
   public: class QPointF pos() const
   public: void setPos(class QPointF const & pos);
   public: class QPointF scenePos() const
   public: void setScenePos(class QPointF const & pos);
   public: class QPoint screenPos() const
   public: void setScreenPos(class QPoint const & pos);
   public: class QPointF buttonDownPos(enum Qt::MouseButton button) const
   public: void setButtonDownPos(enum Qt::MouseButton button, class QPointF const & pos);
   public: class QPointF buttonDownScenePos(enum Qt::MouseButton button) const
   public: void setButtonDownScenePos(enum Qt::MouseButton button, class QPointF const & pos);
   public: class QPoint buttonDownScreenPos(enum Qt::MouseButton button) const
   public: void setButtonDownScreenPos(enum Qt::MouseButton button, class QPoint const & pos);
   public: class QPointF lastPos() const
   public: void setLastPos(class QPointF const & pos);
   public: class QPointF lastScenePos() const
   public: void setLastScenePos(class QPointF const & pos);
   public: class QPoint lastScreenPos() const
   public: void setLastScreenPos(class QPoint const & pos);
   public: Qt::MouseButtons buttons() const
   public: void setButtons(Qt::MouseButtons buttons);
   public: enum Qt::MouseButton button() const
   public: void setButton(enum Qt::MouseButton button);
   public: Qt::KeyboardModifiers modifiers() const
   public: void setModifiers(Qt::KeyboardModifiers modifiers);
   private: inline struct QGraphicsSceneMouseEventPrivate* d_func();
   private: inline struct QGraphicsSceneMouseEventPrivate const * d_func() const
   friend struct QGraphicsSceneMouseEventPrivate;
};
struct QGraphicsSceneWheelEventPrivate;
class QGraphicsSceneWheelEvent: public QGraphicsSceneEvent{
   public: QGraphicsSceneWheelEvent(enum QEvent::Type type = QEvent::None);
   public: virtual ~QGraphicsSceneWheelEvent();
   public: class QPointF pos() const
   public: void setPos(class QPointF const & pos);
   public: class QPointF scenePos() const
   public: void setScenePos(class QPointF const & pos);
   public: class QPoint screenPos() const
   public: void setScreenPos(class QPoint const & pos);
   public: Qt::MouseButtons buttons() const
   public: void setButtons(Qt::MouseButtons buttons);
   public: Qt::KeyboardModifiers modifiers() const
   public: void setModifiers(Qt::KeyboardModifiers modifiers);
   public: int delta() const
   public: void setDelta(int delta);
   private: inline struct QGraphicsSceneWheelEventPrivate* d_func();
   private: inline struct QGraphicsSceneWheelEventPrivate const * d_func() const
   friend struct QGraphicsSceneWheelEventPrivate;
};
struct QGraphicsSceneContextMenuEventPrivate;
class QGraphicsSceneContextMenuEvent: public QGraphicsSceneEvent{
   public: enum Reason{
      Mouse = 0,
      Keyboard = 1,
      Other = 2,
   };
   public: QGraphicsSceneContextMenuEvent(enum QEvent::Type type = QEvent::None);
   public: virtual ~QGraphicsSceneContextMenuEvent();
   public: class QPointF pos() const
   public: void setPos(class QPointF const & pos);
   public: class QPointF scenePos() const
   public: void setScenePos(class QPointF const & pos);
   public: class QPoint screenPos() const
   public: void setScreenPos(class QPoint const & pos);
   public: Qt::KeyboardModifiers modifiers() const
   public: void setModifiers(Qt::KeyboardModifiers modifiers);
   public: enum QGraphicsSceneContextMenuEvent::Reason reason() const
   public: void setReason(enum QGraphicsSceneContextMenuEvent::Reason reason);
   private: inline struct QGraphicsSceneContextMenuEventPrivate* d_func();
   private: inline struct QGraphicsSceneContextMenuEventPrivate const * d_func() const
   friend struct QGraphicsSceneContextMenuEventPrivate;
};
struct QGraphicsSceneHoverEventPrivate;
class QGraphicsSceneHoverEvent: public QGraphicsSceneEvent{
   public: QGraphicsSceneHoverEvent(enum QEvent::Type type = QEvent::None);
   public: virtual ~QGraphicsSceneHoverEvent();
   public: class QPointF pos() const
   public: void setPos(class QPointF const & pos);
   public: class QPointF scenePos() const
   public: void setScenePos(class QPointF const & pos);
   public: class QPoint screenPos() const
   public: void setScreenPos(class QPoint const & pos);
   private: inline struct QGraphicsSceneHoverEventPrivate* d_func();
   private: inline struct QGraphicsSceneHoverEventPrivate const * d_func() const
   friend struct QGraphicsSceneHoverEventPrivate;
};
struct QGraphicsSceneHelpEventPrivate;
class QGraphicsSceneHelpEvent: public QGraphicsSceneEvent{
   public: QGraphicsSceneHelpEvent(enum QEvent::Type type = QEvent::None);
   public: virtual ~QGraphicsSceneHelpEvent();
   public: class QPointF scenePos() const
   public: void setScenePos(class QPointF const & pos);
   public: class QPoint screenPos() const
   public: void setScreenPos(class QPoint const & pos);
   private: inline struct QGraphicsSceneHelpEventPrivate* d_func();
   private: inline struct QGraphicsSceneHelpEventPrivate const * d_func() const
   friend struct QGraphicsSceneHelpEventPrivate;
};
struct QGraphicsSceneDragDropEventPrivate;
class QGraphicsSceneDragDropEvent: public QGraphicsSceneEvent{
   public: QGraphicsSceneDragDropEvent(enum QEvent::Type type = QEvent::None);
   public: virtual ~QGraphicsSceneDragDropEvent();
   public: class QPointF pos() const
   public: void setPos(class QPointF const & pos);
   public: class QPointF scenePos() const
   public: void setScenePos(class QPointF const & pos);
   public: class QPoint screenPos() const
   public: void setScreenPos(class QPoint const & pos);
   public: Qt::MouseButtons buttons() const
   public: void setButtons(Qt::MouseButtons buttons);
   public: Qt::KeyboardModifiers modifiers() const
   public: void setModifiers(Qt::KeyboardModifiers modifiers);
   public: Qt::DropActions possibleActions() const
   public: void setPossibleActions(Qt::DropActions actions);
   public: enum Qt::DropAction proposedAction() const
   public: void setProposedAction(enum Qt::DropAction action);
   public: void acceptProposedAction();
   public: enum Qt::DropAction dropAction() const
   public: void setDropAction(enum Qt::DropAction action);
   public: struct QWidget* source() const
   public: void setSource(struct QWidget* source);
   public: struct QMimeData const * mimeData() const
   public: void setMimeData(struct QMimeData const * data);
   private: inline struct QGraphicsSceneDragDropEventPrivate* d_func();
   private: inline struct QGraphicsSceneDragDropEventPrivate const * d_func() const
   friend struct QGraphicsSceneDragDropEventPrivate;
};
#endif // QT_NO_GRAPHICSVIEW
#endif