From 0fb5c7e71d6f9551b5e60f42a0d210ee65b01595 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 11 Aug 2011 16:23:10 +0200 Subject: Make coordinates float based where it makes sense. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mouse and Hover events already use FP corrdinates. They also make sense for tablet and drop events. Task-number: QTBUG-20115 Change-Id: Iff35d1f468567bd5a37236853dbc7725a37d87f2 Reviewed-by: Samuel Rødal --- src/gui/kernel/qevent.cpp | 7 +++---- src/gui/kernel/qevent.h | 36 +++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 19 deletions(-) (limited to 'src/gui') diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 74dc388114..3dbe5d5268 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -1872,14 +1872,13 @@ QVariant QInputMethodQueryEvent::value(Qt::InputMethodQuery query) const \sa pos() globalPos() device() pressure() xTilt() yTilt() uniqueId(), rotation(), tangentialPressure(), z() */ -QTabletEvent::QTabletEvent(Type type, const QPoint &pos, const QPoint &globalPos, - const QPointF &hiResGlobalPos, int device, int pointerType, +QTabletEvent::QTabletEvent(Type type, const QPointF &pos, const QPointF &globalPos, + int device, int pointerType, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers keyState, qint64 uniqueID) : QInputEvent(type, keyState), mPos(pos), mGPos(globalPos), - mHiResGlobalPos(hiResGlobalPos), mDev(device), mPointerType(pointerType), mXT(xTilt), @@ -2208,7 +2207,7 @@ QDragMoveEvent::~QDragMoveEvent() The states of the mouse buttons and keyboard modifiers at the time of the drop are specified by \a buttons and \a modifiers. */ // ### pos is in which coordinate system? -QDropEvent::QDropEvent(const QPoint& pos, Qt::DropActions actions, const QMimeData *data, +QDropEvent::QDropEvent(const QPointF& pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type) : QEvent(type), p(pos), mouseState(buttons), modState(modifiers), act(actions), diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 2fabeb5f0e..8f0d76a58d 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -183,21 +183,27 @@ public: enum TabletDevice { NoDevice, Puck, Stylus, Airbrush, FourDMouse, XFreeEraser /*internal*/, RotationStylus }; enum PointerType { UnknownPointer, Pen, Cursor, Eraser }; - QTabletEvent(Type t, const QPoint &pos, const QPoint &globalPos, const QPointF &hiResGlobalPos, + QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, int device, int pointerType, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers keyState, qint64 uniqueID); ~QTabletEvent(); - inline const QPoint &pos() const { return mPos; } - inline const QPoint &globalPos() const { return mGPos; } - inline const QPointF &hiResGlobalPos() const { return mHiResGlobalPos; } - inline int x() const { return mPos.x(); } - inline int y() const { return mPos.y(); } - inline int globalX() const { return mGPos.x(); } - inline int globalY() const { return mGPos.y(); } - inline qreal hiResGlobalX() const { return mHiResGlobalPos.x(); } - inline qreal hiResGlobalY() const { return mHiResGlobalPos.y(); } + inline const QPoint pos() const { return mPos.toPoint(); } + inline const QPoint globalPos() const { return mGPos.toPoint(); } +#if QT_DEPRECATED_SINCE(5,0) + QT_DEPRECATED inline const QPointF &hiResGlobalPos() const { return mPos; } +#endif + + inline const QPointF &posF() const { return mPos; } + inline const QPointF &globalPosF() const { return mGPos; } + + inline int x() const { return qRound(mPos.x()); } + inline int y() const { return qRound(mPos.y()); } + inline int globalX() const { return qRound(mGPos.x()); } + inline int globalY() const { return qRound(mGPos.y()); } + inline qreal hiResGlobalX() const { return mGPos.x(); } + inline qreal hiResGlobalY() const { return mGPos.y(); } inline TabletDevice device() const { return TabletDevice(mDev); } inline PointerType pointerType() const { return PointerType(mPointerType); } inline qint64 uniqueId() const { return mUnique; } @@ -209,8 +215,7 @@ public: inline int yTilt() const { return mYT; } protected: - QPoint mPos, mGPos; - QPointF mHiResGlobalPos; + QPointF mPos, mGPos; int mDev, mPointerType, mXT, mYT, mZ; qreal mPress, mTangential, mRot; qint64 mUnique; @@ -477,11 +482,12 @@ class QMimeData; class Q_GUI_EXPORT QDropEvent : public QEvent { public: - QDropEvent(const QPoint& pos, Qt::DropActions actions, const QMimeData *data, + QDropEvent(const QPointF& pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = Drop); ~QDropEvent(); - inline const QPoint &pos() const { return p; } + inline const QPoint pos() const { return p.toPoint(); } + inline const QPointF &posF() const { return p; } inline Qt::MouseButtons mouseButtons() const { return mouseState; } inline Qt::KeyboardModifiers keyboardModifiers() const { return modState; } @@ -497,7 +503,7 @@ public: protected: friend class QApplication; - QPoint p; + QPointF p; Qt::MouseButtons mouseState; Qt::KeyboardModifiers modState; Qt::DropActions act; -- cgit v1.2.3