1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-10 22:31:40 +02:00

fix touch relative mode

This commit is contained in:
Laserlicht
2025-02-08 12:54:25 +01:00
parent d8ee343800
commit d9ada6c7e8

View File

@@ -20,6 +20,7 @@
#include "../gui/EventDispatcher.h"
#include "../gui/MouseButton.h"
#include "../gui/WindowHandler.h"
#include "../render/IScreenHandler.h"
#include "../CServerHandler.h"
#include "../globalLobby/GlobalLobbyClient.h"
@@ -65,6 +66,7 @@ void InputSourceTouch::handleEventFingerMotion(const SDL_TouchFingerEvent & tfin
case TouchState::RELATIVE_MODE:
{
Point screenSize = GH.screenDimensions();
int scalingFactor = GH.screenHandler().getScalingFactor();
Point moveDistance {
static_cast<int>(screenSize.x * params.relativeModeSpeedFactor * tfinger.dx),
@@ -73,7 +75,7 @@ void InputSourceTouch::handleEventFingerMotion(const SDL_TouchFingerEvent & tfin
GH.input().moveCursorPosition(moveDistance);
if (CCS && CCS->curh)
CCS->curh->cursorMove(GH.getCursorPosition().x, GH.getCursorPosition().y);
CCS->curh->cursorMove(GH.getCursorPosition().x * scalingFactor, GH.getCursorPosition().y * scalingFactor);
break;
}