Add Graphics#maximize_window

Works even if the window is not resizable by user.
Requested by matias1lol.
This commit is contained in:
Amaryllis Kulla 2025-10-27 12:17:20 +01:00
parent de43f7da92
commit 7b9d436ede
4 changed files with 28 additions and 0 deletions

View file

@ -80,6 +80,7 @@ enum
{
REQUEST_SETFULLSCREEN = 0,
REQUEST_WINRESIZE,
REQUEST_WINMAXIMIZE,
REQUEST_MESSAGEBOX,
REQUEST_SETCURSORVISIBLE,
@ -459,6 +460,10 @@ void EventThread::process(RGSSThreadData &rtData)
updateCursorState(cursorInWindow, gameScreen);
break;
case REQUEST_WINMAXIMIZE :
SDL_MaximizeWindow(win);
break;
case UPDATE_FPS :
if (rtData.config.printFPS)
Debug() << "FPS:" << event.user.code;
@ -622,6 +627,13 @@ void EventThread::requestWindowResize(int width, int height, bool recenter)
SDL_PushEvent(&event);
}
void EventThread::requestWindowMaximize()
{
SDL_Event event;
event.type = usrIdStart + REQUEST_WINMAXIMIZE;
SDL_PushEvent(&event);
}
void EventThread::requestShowCursor(bool mode)
{
SDL_Event event;

View file

@ -89,6 +89,7 @@ public:
/* Called from RGSS thread */
void requestFullscreenMode(bool mode);
void requestWindowResize(int width, int height, bool recenter = false);
void requestWindowMaximize();
void requestShowCursor(bool mode);
void requestTerminate();