mirror of
https://github.com/encounter/SDL.git
synced 2025-06-16 19:43:47 +00:00
switch: handle SDL_WINDOW_RESIZABLE
This commit is contained in:
parent
220f042d06
commit
1b31368a40
@ -36,7 +36,8 @@
|
|||||||
#include "SDL_switchmouse_c.h"
|
#include "SDL_switchmouse_c.h"
|
||||||
|
|
||||||
/* Currently only one window */
|
/* Currently only one window */
|
||||||
SDL_Window *switch_window = NULL;
|
static SDL_Window *switch_window = NULL;
|
||||||
|
static AppletOperationMode operationMode;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SWITCH_Available(void)
|
SWITCH_Available(void)
|
||||||
@ -234,6 +235,9 @@ SWITCH_CreateWindow(_THIS, SDL_Window *window)
|
|||||||
window->driverdata = window_data;
|
window->driverdata = window_data;
|
||||||
switch_window = window;
|
switch_window = window;
|
||||||
|
|
||||||
|
/* starting operation mode */
|
||||||
|
operationMode = appletGetOperationMode();
|
||||||
|
|
||||||
/* One window, it always has focus */
|
/* One window, it always has focus */
|
||||||
SDL_SetMouseFocus(window);
|
SDL_SetMouseFocus(window);
|
||||||
SDL_SetKeyboardFocus(window);
|
SDL_SetKeyboardFocus(window);
|
||||||
@ -329,6 +333,8 @@ SWITCH_SetWindowGrab(_THIS, SDL_Window *window, SDL_bool grabbed)
|
|||||||
void
|
void
|
||||||
SWITCH_PumpEvents(_THIS)
|
SWITCH_PumpEvents(_THIS)
|
||||||
{
|
{
|
||||||
|
AppletOperationMode om;
|
||||||
|
|
||||||
if (!appletMainLoop()) {
|
if (!appletMainLoop()) {
|
||||||
SDL_Event ev;
|
SDL_Event ev;
|
||||||
ev.type = SDL_QUIT;
|
ev.type = SDL_QUIT;
|
||||||
@ -340,6 +346,21 @@ SWITCH_PumpEvents(_THIS)
|
|||||||
SWITCH_PollTouch();
|
SWITCH_PollTouch();
|
||||||
SWITCH_PollKeyboard();
|
SWITCH_PollKeyboard();
|
||||||
SWITCH_PollMouse();
|
SWITCH_PollMouse();
|
||||||
|
|
||||||
|
// handle docked / un-docked modes
|
||||||
|
// note that SDL_WINDOW_RESIZABLE is only possible in windowed mode,
|
||||||
|
// so we don't care about current fullscreen/windowed status
|
||||||
|
if(switch_window != NULL && switch_window->flags & SDL_WINDOW_RESIZABLE) {
|
||||||
|
om = appletGetOperationMode();
|
||||||
|
if(om != operationMode) {
|
||||||
|
operationMode = om;
|
||||||
|
if(operationMode == AppletOperationMode_Handheld) {
|
||||||
|
SDL_SetWindowSize(switch_window, 1280, 720);
|
||||||
|
} else {
|
||||||
|
SDL_SetWindowSize(switch_window, 1920, 1080);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_DRIVER_SWITCH */
|
#endif /* SDL_VIDEO_DRIVER_SWITCH */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user