#include <qcursor.h>
#include <private/qcursor_p.h>
#include <qplatformcursor_qpa.h>
+#include <private/qguiapplication_p.h>
#include <qbitmap.h>
QT_BEGIN_NAMESPACE
#endif //QT_NO_CURSOR
-extern qreal qt_last_x,qt_last_y;
-
QPoint QCursor::pos()
{
- return QPointF(qt_last_x, qt_last_y).toPoint();
+ return QGuiApplicationPrivate::lastCursorPosition.toPoint();
}
void QCursor::setPos(int x, int y)
int QGuiApplicationPrivate::keyboard_input_time = 400;
int QGuiApplicationPrivate::mouse_double_click_time = 400;
+QPointF QGuiApplicationPrivate::lastCursorPosition(0.0, 0.0);
QPlatformIntegration *QGuiApplicationPrivate::platform_integration = 0;
QPalette *QGuiApplicationPrivate::app_pal = 0; // default application palette
-qreal qt_last_x = 0;
-qreal qt_last_y = 0;
-
Qt::MouseButtons QGuiApplicationPrivate::buttons = Qt::NoButton;
ulong QGuiApplicationPrivate::mousePressTime = 0;
Qt::MouseButton QGuiApplicationPrivate::mousePressButton = Qt::NoButton;
QEvent::Type type;
// move first
Qt::MouseButtons stateChange = e->buttons ^ buttons;
- if (e->globalPos != QPointF(qt_last_x, qt_last_y) && (stateChange != Qt::NoButton)) {
+ if (e->globalPos != QGuiApplicationPrivate::lastCursorPosition && (stateChange != Qt::NoButton)) {
QWindowSystemInterfacePrivate::MouseEvent * newMouseEvent =
new QWindowSystemInterfacePrivate::MouseEvent(e->window.data(), e->timestamp, e->localPos, e->globalPos, e->buttons);
QWindowSystemInterfacePrivate::windowSystemEventQueue.prepend(newMouseEvent); // just in case the move triggers a new event loop
Qt::MouseButton button = Qt::NoButton;
- if (qt_last_x != globalPoint.x() || qt_last_y != globalPoint.y()) {
+ if (QGuiApplicationPrivate::lastCursorPosition != globalPoint) {
type = QEvent::MouseMove;
- qt_last_x = globalPoint.x();
- qt_last_y = globalPoint.y();
+ QGuiApplicationPrivate::lastCursorPosition = globalPoint;
if (qAbs(globalPoint.x() - mousePressX) > mouse_double_click_distance||
qAbs(globalPoint.y() - mousePressY) > mouse_double_click_distance)
mousePressButton = Qt::NoButton;
type = QEvent::MouseButtonPress;
mousePressTime = e->timestamp;
mousePressButton = button;
- mousePressX = qt_last_x;
- mousePressY = qt_last_y;
+ const QPoint point = QGuiApplicationPrivate::lastCursorPosition.toPoint();
+ mousePressX = point.x();
+ mousePressY = point.y();
}
}
else
return;
QPointF globalPoint = e->globalPos;
-
- qt_last_x = globalPoint.x();
- qt_last_y = globalPoint.y();
+ QGuiApplicationPrivate::lastCursorPosition = globalPoint;
QWindow *window = e->window.data();
#include <QPainter>
#include <QBitmap>
#include <QGuiApplication>
+#include <private/qguiapplication_p.h>
#include <QDebug>
QPlatformCursorPrivate::instances.append(this);
}
-extern int qt_last_x;
-extern int qt_last_y;
-
QPoint QPlatformCursor::pos() const
{
// As a fallback return the last mouse position seen by QGuiApplication.
- return QPoint(qt_last_x, qt_last_y);
+ return QGuiApplicationPrivate::lastCursorPosition.toPoint();
}
void QPlatformCursor::setPos(const QPoint &pos)