From 55e6dde4f83ba173dde4ab3b9fbdfb156d7aed9b Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sun, 9 Feb 2020 17:29:08 +0900 Subject: [PATCH] Android: Fix screen issues - Create window as fullscreen - Redraw screen after task resume --- src/sdlmain.cpp | 8 +++++++- src/sys/nact_input.cpp | 12 ++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/sdlmain.cpp b/src/sdlmain.cpp index 9cc0c52..4f04f31 100644 --- a/src/sdlmain.cpp +++ b/src/sdlmain.cpp @@ -27,7 +27,13 @@ int main(int argc, char *argv[]) _tcscpy_s(buf, 128, _T("Scenario Decoder SYSTEM3")); #endif - g_window = SDL_CreateWindow(buf, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 400, 0); +#ifdef __ANDROID__ + SDL_SetHint(SDL_HINT_ORIENTATIONS, "LandscapeLeft LandscapeRight"); + Uint32 flags = SDL_WINDOW_FULLSCREEN; +#else + Uint32 flags = 0; +#endif + g_window = SDL_CreateWindow(buf, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 400, flags); const char *fontfile = DEFAULT_FONT_PATH "MTLc3m.ttf"; diff --git a/src/sys/nact_input.cpp b/src/sys/nact_input.cpp index 60cb79f..931925b 100644 --- a/src/sys/nact_input.cpp +++ b/src/sys/nact_input.cpp @@ -10,7 +10,7 @@ static int mousex, mousey, fingers; -static bool pump_events(int screen_height) +static bool pump_events(AGS* ags) { SDL_Event e; while (SDL_PollEvent(&e)) { @@ -27,9 +27,13 @@ static bool pump_events(int screen_height) case SDL_FINGERUP: case SDL_FINGERMOTION: mousex = e.tfinger.x * 640; - mousey = e.tfinger.y * screen_height; + mousey = e.tfinger.y * ags->screen_height; fingers = SDL_GetNumTouchFingers(e.tfinger.touchId); break; + + case SDL_APP_DIDENTERFOREGROUND: + ags->flush_screen(false); + break; } } return false; @@ -41,7 +45,7 @@ uint8 NACT::get_key() texthook_keywait(); - if (pump_events(ags->screen_height)) + if (pump_events(ags)) terminate = true; // キーボード&マウス @@ -86,7 +90,7 @@ uint8 NACT::get_key() void NACT::get_cursor(int* x, int* y) { - if (pump_events(ags->screen_height)) + if (pump_events(ags)) terminate = true; *x = mousex; *y = mousey;