From 80750df211d2188033a410af07f12e7f48549d96 Mon Sep 17 00:00:00 2001 From: Virt <41426325+VirtCode@users.noreply.github.com> Date: Fri, 28 Jun 2024 16:31:47 +0200 Subject: [PATCH] fix: account for hotspot on zoom transform --- src/cursor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cursor.cpp b/src/cursor.cpp index 0daa486..91f87ad 100644 --- a/src/cursor.cpp +++ b/src/cursor.cpp @@ -44,6 +44,10 @@ void CDynamicCursors::renderSoftware(CPointerManager* pointers, SP pMo box.y = overridePos->y; } + // poperly transform hotspot, this first has to undo the hotspot transform from getCursorBoxGlobal + box.x = box.x + pointers->currentCursorImage.hotspot.x - pointers->currentCursorImage.hotspot.x * zoom; + box.y = box.y + pointers->currentCursorImage.hotspot.y - pointers->currentCursorImage.hotspot.y * zoom; + if (box.intersection(CBox{{}, {pMonitor->vecSize}}).empty()) return;