summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp11
-rw-r--r--src/gui/kernel/qevent.cpp44
-rw-r--r--src/gui/kernel/qevent.h51
-rw-r--r--src/gui/kernel/qevent_p.h14
4 files changed, 39 insertions, 81 deletions
diff --git a/src/gui/graphicsview/qgraphicsproxywidget.cpp b/src/gui/graphicsview/qgraphicsproxywidget.cpp
index bffa47081b..fad88f5764 100644
--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp
@@ -274,12 +274,12 @@ void QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent(QGraphicsSceneMouseEvent
pos = mapToReceiver(pos, receiver);
// Send mouse event.
- QMouseEvent *mouseEvent = QMouseEvent::createExtendedMouseEvent(type, pos,
- receiver->mapToGlobal(pos.toPoint()), event->button(),
- event->buttons(), event->modifiers());
+ QMouseEvent mouseEvent(type, pos,
+ receiver->mapToGlobal(pos.toPoint()), event->button(),
+ event->buttons(), event->modifiers());
QWidget *embeddedMouseGrabberPtr = (QWidget *)embeddedMouseGrabber;
- QApplicationPrivate::sendMouseEvent(receiver, mouseEvent, alienWidget, widget,
+ QApplicationPrivate::sendMouseEvent(receiver, &mouseEvent, alienWidget, widget,
&embeddedMouseGrabberPtr, lastWidgetUnderMouse, event->spontaneous());
embeddedMouseGrabber = embeddedMouseGrabberPtr;
@@ -302,8 +302,7 @@ void QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent(QGraphicsSceneMouseEvent
#endif
}
- event->setAccepted(mouseEvent->isAccepted());
- delete mouseEvent;
+ event->setAccepted(mouseEvent.isAccepted());
}
void QGraphicsProxyWidgetPrivate::sendWidgetKeyEvent(QKeyEvent *event)
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 8426198614..aba848258b 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -166,7 +166,7 @@ QInputEvent::~QInputEvent()
position explicitly.
*/
-QMouseEvent::QMouseEvent(Type type, const QPoint &position, Qt::MouseButton button,
+QMouseEvent::QMouseEvent(Type type, const QPointF &position, Qt::MouseButton button,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
: QInputEvent(type, modifiers), p(position), b(button), mouseState(buttons)
{
@@ -228,28 +228,20 @@ QMouseEvent::QMouseEvent(Type type, const QPoint &pos, const QPoint &globalPos,
modifiers.
*/
-QMouseEvent::QMouseEvent(Type type, const QPoint &pos, const QPoint &globalPos,
+QMouseEvent::QMouseEvent(Type type, const QPointF &pos, const QPointF &globalPos,
Qt::MouseButton button, Qt::MouseButtons buttons,
Qt::KeyboardModifiers modifiers)
: QInputEvent(type, modifiers), p(pos), g(globalPos), b(button), mouseState(buttons)
{}
/*!
- \internal
-*/
-QMouseEvent *QMouseEvent::createExtendedMouseEvent(Type type, const QPointF &pos,
- const QPoint &globalPos, Qt::MouseButton button,
- Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
-{
- return new QMouseEventEx(type, pos, globalPos, button, buttons, modifiers);
-}
-
-/*!
\fn bool QMouseEvent::hasExtendedInfo() const
\internal
*/
/*!
+ \fn QPointF QMouseEvent::posF() const
+
\since 4.4
Returns the position of the mouse cursor as a QPointF, relative to the
@@ -261,28 +253,6 @@ QMouseEvent *QMouseEvent::createExtendedMouseEvent(Type type, const QPointF &pos
\sa x() y() pos() globalPos()
*/
-QPointF QMouseEvent::posF() const
-{
- return hasExtendedInfo() ? reinterpret_cast<const QMouseEventEx *>(this)->posF : QPointF(pos());
-}
-
-/*!
- \internal
-*/
-QMouseEventEx::QMouseEventEx(Type type, const QPointF &pos, const QPoint &globalPos,
- Qt::MouseButton button, Qt::MouseButtons buttons,
- Qt::KeyboardModifiers modifiers)
- : QMouseEvent(type, pos.toPoint(), globalPos, button, buttons, modifiers), posF(pos)
-{
- d = reinterpret_cast<QEventPrivate *>(this);
-}
-
-/*!
- \internal
-*/
-QMouseEventEx::~QMouseEventEx()
-{
-}
/*!
\fn const QPoint &QMouseEvent::pos() const
@@ -475,7 +445,7 @@ QMouseEventEx::~QMouseEventEx()
receiving widget, while \a oldPos is the previous mouse cursor's
position relative to the receiving widget.
*/
-QHoverEvent::QHoverEvent(Type type, const QPoint &pos, const QPoint &oldPos)
+QHoverEvent::QHoverEvent(Type type, const QPointF &pos, const QPointF &oldPos)
: QEvent(type), p(pos), op(oldPos)
{
}
@@ -542,7 +512,7 @@ QHoverEvent::~QHoverEvent()
\sa pos() delta() state()
*/
#ifndef QT_NO_WHEELEVENT
-QWheelEvent::QWheelEvent(const QPoint &pos, int delta,
+QWheelEvent::QWheelEvent(const QPointF &pos, int delta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers,
Qt::Orientation orient)
: QInputEvent(Wheel, modifiers), p(pos), d(delta), mouseState(buttons), o(orient)
@@ -581,7 +551,7 @@ QWheelEvent::QWheelEvent(const QPoint &pos, int delta, int state, Qt::Orientatio
\sa pos() globalPos() delta() state()
*/
-QWheelEvent::QWheelEvent(const QPoint &pos, const QPoint& globalPos, int delta,
+QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers,
Qt::Orientation orient)
: QInputEvent(Wheel, modifiers), p(pos), g(globalPos), d(delta), mouseState(buttons), o(orient)
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 2267d73a64..6ec9f1b9bf 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -85,27 +85,24 @@ protected:
class Q_GUI_EXPORT QMouseEvent : public QInputEvent
{
public:
- QMouseEvent(Type type, const QPoint &pos, Qt::MouseButton button,
+ QMouseEvent(Type type, const QPointF &pos, Qt::MouseButton button,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
- QMouseEvent(Type type, const QPoint &pos, const QPoint &globalPos,
+ QMouseEvent(Type type, const QPointF &pos, const QPointF &globalPos,
Qt::MouseButton button, Qt::MouseButtons buttons,
Qt::KeyboardModifiers modifiers);
~QMouseEvent();
- inline const QPoint &pos() const { return p; }
- inline const QPoint &globalPos() const { return g; }
- inline int x() const { return p.x(); }
- inline int y() const { return p.y(); }
- inline int globalX() const { return g.x(); }
- inline int globalY() const { return g.y(); }
+ inline QPoint pos() const { return p.toPoint(); }
+ inline QPoint globalPos() const { return g.toPoint(); }
+ inline int x() const { return qRound(p.x()); }
+ inline int y() const { return qRound(p.y()); }
+ inline int globalX() const { return qRound(g.x()); }
+ inline int globalY() const { return qRound(g.y()); }
inline Qt::MouseButton button() const { return b; }
inline Qt::MouseButtons buttons() const { return mouseState; }
- static QMouseEvent *createExtendedMouseEvent(Type type, const QPointF &pos,
- const QPoint &globalPos, Qt::MouseButton button,
- Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
- inline bool hasExtendedInfo() const { return reinterpret_cast<const QMouseEvent *>(d) == this; }
- QPointF posF() const;
+ const QPointF &posF() const { return p; }
+ const QPointF &globalPosF() const { return g; }
#ifdef QT3_SUPPORT
QT3_SUPPORT_CONSTRUCTOR QMouseEvent(Type type, const QPoint &pos, Qt::ButtonState button, int state);
@@ -117,7 +114,7 @@ public:
{ return Qt::ButtonState(int(mouseState)|int(modifiers())); }
#endif
protected:
- QPoint p, g;
+ QPointF p, g;
Qt::MouseButton b;
Qt::MouseButtons mouseState;
};
@@ -125,31 +122,34 @@ protected:
class Q_GUI_EXPORT QHoverEvent : public QEvent
{
public:
- QHoverEvent(Type type, const QPoint &pos, const QPoint &oldPos);
+ QHoverEvent(Type type, const QPointF &pos, const QPointF &oldPos);
~QHoverEvent();
- inline const QPoint &pos() const { return p; }
- inline const QPoint &oldPos() const { return op; }
+ inline QPoint pos() const { return p.toPoint(); }
+ inline QPoint oldPos() const { return op.toPoint(); }
+
+ inline const QPointF &posF() const { return p; }
+ inline const QPointF &oldPosF() const { return op; }
protected:
- QPoint p, op;
+ QPointF p, op;
};
#ifndef QT_NO_WHEELEVENT
class Q_GUI_EXPORT QWheelEvent : public QInputEvent
{
public:
- QWheelEvent(const QPoint &pos, int delta,
+ QWheelEvent(const QPointF &pos, int delta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers,
Qt::Orientation orient = Qt::Vertical);
- QWheelEvent(const QPoint &pos, const QPoint& globalPos, int delta,
+ QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers,
Qt::Orientation orient = Qt::Vertical);
~QWheelEvent();
inline int delta() const { return d; }
- inline const QPoint &pos() const { return p; }
- inline const QPoint &globalPos() const { return g; }
+ inline QPoint pos() const { return p.toPoint(); }
+ inline QPoint globalPos() const { return g.toPoint(); }
inline int x() const { return p.x(); }
inline int y() const { return p.y(); }
inline int globalX() const { return g.x(); }
@@ -158,6 +158,9 @@ public:
inline Qt::MouseButtons buttons() const { return mouseState; }
Qt::Orientation orientation() const { return o; }
+ inline const QPointF &posF() const { return p; }
+ inline const QPointF &globalPosF() const { return g; }
+
#ifdef QT3_SUPPORT
QT3_SUPPORT_CONSTRUCTOR QWheelEvent(const QPoint &pos, int delta, int state,
Qt::Orientation orient = Qt::Vertical);
@@ -167,8 +170,8 @@ public:
{ return static_cast<Qt::ButtonState>(int(buttons())|int(modifiers())); }
#endif
protected:
- QPoint p;
- QPoint g;
+ QPointF p;
+ QPointF g;
int d;
Qt::MouseButtons mouseState;
Qt::Orientation o;
diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h
index f227f73f55..4dd3d3fbfb 100644
--- a/src/gui/kernel/qevent_p.h
+++ b/src/gui/kernel/qevent_p.h
@@ -81,20 +81,6 @@ protected:
friend class QKeyEvent;
};
-// ### Qt 5: remove
-class QMouseEventEx : public QMouseEvent
-{
-public:
- QMouseEventEx(Type type, const QPointF &pos, const QPoint &globalPos,
- Qt::MouseButton button, Qt::MouseButtons buttons,
- Qt::KeyboardModifiers modifiers);
- ~QMouseEventEx();
-
-protected:
- QPointF posF;
- friend class QMouseEvent;
-};
-
class QTouchEventTouchPointPrivate
{
public: