summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/kernel/qevent.cpp6
-rw-r--r--src/gui/kernel/qevent.h4
-rw-r--r--src/gui/kernel/qguiapplication.cpp23
-rw-r--r--src/gui/kernel/qguiapplication_p.h5
4 files changed, 35 insertions, 3 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index beb75308b3..2181d06734 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -161,7 +161,7 @@ QInputEvent::~QInputEvent()
*/
QMouseEvent::QMouseEvent(Type type, const QPointF &localPos, Qt::MouseButton button,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
- : QInputEvent(type, modifiers), l(localPos), w(localPos), b(button), mouseState(buttons)
+ : QInputEvent(type, modifiers), l(localPos), w(localPos), b(button), mouseState(buttons), caps(0)
{
s = QCursor::pos();
}
@@ -188,7 +188,7 @@ QMouseEvent::QMouseEvent(Type type, const QPointF &localPos, Qt::MouseButton but
QMouseEvent::QMouseEvent(Type type, const QPointF &localPos, const QPointF &screenPos,
Qt::MouseButton button, Qt::MouseButtons buttons,
Qt::KeyboardModifiers modifiers)
- : QInputEvent(type, modifiers), l(localPos), w(localPos), s(screenPos), b(button), mouseState(buttons)
+ : QInputEvent(type, modifiers), l(localPos), w(localPos), s(screenPos), b(button), mouseState(buttons), caps(0)
{}
/*!
@@ -211,7 +211,7 @@ QMouseEvent::QMouseEvent(Type type, const QPointF &localPos, const QPointF &scre
QMouseEvent::QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos,
Qt::MouseButton button, Qt::MouseButtons buttons,
Qt::KeyboardModifiers modifiers)
- : QInputEvent(type, modifiers), l(localPos), w(windowPos), s(screenPos), b(button), mouseState(buttons)
+ : QInputEvent(type, modifiers), l(localPos), w(windowPos), s(screenPos), b(button), mouseState(buttons), caps(0)
{}
/*!
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 96e630ed0a..de80d19fe6 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -119,6 +119,10 @@ protected:
QPointF l, w, s;
Qt::MouseButton b;
Qt::MouseButtons mouseState;
+ int caps;
+ QVector2D velocity;
+
+ friend class QGuiApplicationPrivate;
};
class Q_GUI_EXPORT QHoverEvent : public QInputEvent
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 570f3f7f3f..4e4bc13f12 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -2387,6 +2387,29 @@ void QGuiApplicationPrivate::q_updateFocusObject(QObject *object)
emit q->focusObjectChanged(object);
}
+int QGuiApplicationPrivate::mouseEventCaps(QMouseEvent *event)
+{
+ return event->caps;
+}
+
+QVector2D QGuiApplicationPrivate::mouseEventVelocity(QMouseEvent *event)
+{
+ return event->velocity;
+}
+
+void QGuiApplicationPrivate::setMouseEventCapsAndVelocity(QMouseEvent *event, int caps, const QVector2D &velocity)
+{
+ event->caps = caps;
+ event->velocity = velocity;
+}
+
+void QGuiApplicationPrivate::setMouseEventCapsAndVelocity(QMouseEvent *event, QMouseEvent *other)
+{
+ event->caps = other->caps;
+ event->velocity = other->velocity;
+}
+
+
#include "moc_qguiapplication.cpp"
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h
index bab3ecc997..d40f61d13b 100644
--- a/src/gui/kernel/qguiapplication_p.h
+++ b/src/gui/kernel/qguiapplication_p.h
@@ -212,6 +212,11 @@ public:
};
QHash<QWindow *, SynthesizedMouseData> synthesizedMousePoints;
+ static int mouseEventCaps(QMouseEvent *event);
+ static QVector2D mouseEventVelocity(QMouseEvent *event);
+ static void setMouseEventCapsAndVelocity(QMouseEvent *event, int caps, const QVector2D &velocity);
+ static void setMouseEventCapsAndVelocity(QMouseEvent *event, QMouseEvent *other);
+
const QDrawHelperGammaTables *gammaTables();
// hook reimplemented in QApplication to apply the QStyle function on the QIcon