From 523e35fdb1498c3c52a1b241bb009239b43407b4 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Sun, 22 Aug 2021 15:14:42 +0800 Subject: [PATCH] Minor tweaks Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- framelesshelper_win32.cpp | 4 ++-- utilities.cpp | 15 ++------------- utilities.h | 1 - 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/framelesshelper_win32.cpp b/framelesshelper_win32.cpp index ad454aa..a4e6ede 100644 --- a/framelesshelper_win32.cpp +++ b/framelesshelper_win32.cpp @@ -562,8 +562,8 @@ bool FramelessHelperWin::nativeEventFilter(const QByteArray &eventType, void *me break; } - const QPointF globalMouse = Utilities::getGlobalMousePosition(window); - POINT winLocalMouse = {qRound(globalMouse.x()), qRound(globalMouse.y())}; + POINT winLocalMouse = {0, 0}; + GetCursorPos(&winLocalMouse); // Or {GET_X_LPARAM(msg->lParam), GET_Y_LPARAM(msg->lParam)} ScreenToClient(msg->hwnd, &winLocalMouse); const QPointF localMouse = {static_cast(winLocalMouse.x), static_cast(winLocalMouse.y)}; RECT clientRect = {0, 0, 0, 0}; diff --git a/utilities.cpp b/utilities.cpp index 3ff9685..e996390 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -26,7 +26,6 @@ #include #include #include -#include FRAMELESSHELPER_BEGIN_NAMESPACE @@ -71,15 +70,6 @@ bool Utilities::isWindowFixedSize(const QWindow *window) return false; } -QPointF Utilities::getGlobalMousePosition(const QWindow *window) -{ - if (window) { - return QPointF(QCursor::pos(window->screen())) * window->devicePixelRatio(); - } else { - return QPointF(QCursor::pos()) * QGuiApplication::primaryScreen()->devicePixelRatio(); - } -} - bool Utilities::isHitTestVisibleInChrome(const QWindow *window) { Q_ASSERT(window); @@ -100,9 +90,8 @@ bool Utilities::isHitTestVisibleInChrome(const QWindow *window) const QPointF originPoint = mapOriginPointToWindow(obj); const qreal width = obj->property("width").toReal(); const qreal height = obj->property("height").toReal(); - const qreal dpr = window->devicePixelRatio(); - const QRectF rect = {originPoint.x() * dpr, originPoint.y() * dpr, width * dpr, height * dpr}; - if (rect.contains(getGlobalMousePosition(window))) { + const QRectF rect = {originPoint.x(), originPoint.y(), width, height}; + if (rect.contains(QCursor::pos(window->screen()))) { return true; } } diff --git a/utilities.h b/utilities.h index fdd5f54..7190891 100644 --- a/utilities.h +++ b/utilities.h @@ -43,7 +43,6 @@ namespace Utilities [[nodiscard]] FRAMELESSHELPER_API QWindow *findWindow(const WId winId); [[nodiscard]] FRAMELESSHELPER_API bool shouldUseNativeTitleBar(); [[nodiscard]] FRAMELESSHELPER_API bool isWindowFixedSize(const QWindow *window); -[[nodiscard]] FRAMELESSHELPER_API QPointF getGlobalMousePosition(const QWindow *window); [[nodiscard]] FRAMELESSHELPER_API bool isHitTestVisibleInChrome(const QWindow *window); [[nodiscard]] FRAMELESSHELPER_API QPointF mapOriginPointToWindow(const QObject *object);