commit 6de936ef684960570b2cde4805753103114ee3fd
parent da4dd26ac98ef4aab16f9da9825874958e9c542a
Author: Olav Sørensen <olav.sorensen@live.no>
Date: Tue, 10 May 2022 18:12:39 +0200
Handle top-left corner as quit in fullscreen mode
Diffstat:
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/ft2_mouse.c b/src/ft2_mouse.c
@@ -684,8 +684,8 @@ void mouseButtonDownHandler(uint8_t mouseButton)
return;
}
- // mouse 0,0 = open exit dialog
- if (mouse.x == 0 && mouse.y == 0)
+ // mouse 0,0 = open exit dialog (also make sure the test always works in fullscreen mode)
+ if (mouse.x == 0 && mouse.y == 0 || (video.fullscreen && (video.renderX > 0 || video.renderY > 0) && (mouse.rawX == 0 && mouse.rawY == 0)))
{
if (quitBox(false) == 1)
editor.throwExit = true;
@@ -845,6 +845,9 @@ void readMouseXY(void)
mouse.buttonState = SDL_GetMouseState(&mx, &my);
}
+ mouse.rawX = mx;
+ mouse.rawY = my;
+
if (video.fullscreen)
{
// centered fullscreen mode (not stretched) needs further coord translation
diff --git a/src/ft2_mouse.h b/src/ft2_mouse.h
@@ -20,7 +20,7 @@ typedef struct mouse_t
bool firstTimePressingButton, mouseOverTextBox;
int8_t buttonCounter, mode;
int16_t lastUsedObjectID, lastUsedObjectType, lastEditBox;
- int32_t x, y, lastX, lastY, xBias, yBias, setPosX, setPosY;
+ int32_t rawX, rawY, x, y, lastX, lastY, xBias, yBias, setPosX, setPosY;
int32_t lastScrollX, lastScrollXTmp, lastScrollY, saveMouseX, saveMouseY;
uint32_t buttonState;
} mouse_t;