Force full display redraw on window resize and enter/leave fullscreen.
This commit is contained in:
parent
796f401b71
commit
1107fc4f28
2 changed files with 12 additions and 0 deletions
|
|
@ -707,6 +707,8 @@ int render()
|
||||||
|
|
||||||
if (vid_resize == 2)
|
if (vid_resize == 2)
|
||||||
SDL_SetWindowSize(window, custom_resolution_width, custom_resolution_height);
|
SDL_SetWindowSize(window, custom_resolution_width, custom_resolution_height);
|
||||||
|
|
||||||
|
device_force_redraw();
|
||||||
}
|
}
|
||||||
if (renderer_doreset)
|
if (renderer_doreset)
|
||||||
{
|
{
|
||||||
|
|
@ -740,6 +742,8 @@ int render()
|
||||||
case SDL_WINDOWEVENT:
|
case SDL_WINDOWEVENT:
|
||||||
if (event.window.event == SDL_WINDOWEVENT_CLOSE)
|
if (event.window.event == SDL_WINDOWEVENT_CLOSE)
|
||||||
wx_stop_emulation(window_ptr);
|
wx_stop_emulation(window_ptr);
|
||||||
|
if (event.window.event == SDL_WINDOWEVENT_RESIZED)
|
||||||
|
device_force_redraw();
|
||||||
|
|
||||||
if (window_remember)
|
if (window_remember)
|
||||||
{
|
{
|
||||||
|
|
@ -831,6 +835,7 @@ int render()
|
||||||
remembered_rect.y -= border_y;
|
remembered_rect.y -= border_y;
|
||||||
SDL_GetWindowSize(window, &remembered_rect.w, &remembered_rect.h);
|
SDL_GetWindowSize(window, &remembered_rect.w, &remembered_rect.h);
|
||||||
SDL_SetWindowFullscreen(window, video_fullscreen_mode == 0 ? SDL_WINDOW_FULLSCREEN_DESKTOP : SDL_WINDOW_FULLSCREEN);
|
SDL_SetWindowFullscreen(window, video_fullscreen_mode == 0 ? SDL_WINDOW_FULLSCREEN_DESKTOP : SDL_WINDOW_FULLSCREEN);
|
||||||
|
device_force_redraw();
|
||||||
}
|
}
|
||||||
if (window_doinputgrab) {
|
if (window_doinputgrab) {
|
||||||
window_doinputgrab = 0;
|
window_doinputgrab = 0;
|
||||||
|
|
@ -858,6 +863,7 @@ int render()
|
||||||
SDL_SetWindowSize(window, remembered_rect.w, remembered_rect.h);
|
SDL_SetWindowSize(window, remembered_rect.w, remembered_rect.h);
|
||||||
SDL_SetWindowPosition(window, remembered_rect.x, remembered_rect.y);
|
SDL_SetWindowPosition(window, remembered_rect.x, remembered_rect.y);
|
||||||
SDL_WarpMouseGlobal(remembered_mouse_x, remembered_mouse_y);
|
SDL_WarpMouseGlobal(remembered_mouse_x, remembered_mouse_y);
|
||||||
|
device_force_redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (win_doresize)
|
if (win_doresize)
|
||||||
|
|
|
||||||
|
|
@ -443,6 +443,8 @@ int render()
|
||||||
#endif
|
#endif
|
||||||
if (vid_resize == 2)
|
if (vid_resize == 2)
|
||||||
SDL_SetWindowSize(window, custom_resolution_width, custom_resolution_height);
|
SDL_SetWindowSize(window, custom_resolution_width, custom_resolution_height);
|
||||||
|
|
||||||
|
device_force_redraw();
|
||||||
}
|
}
|
||||||
if (window_doreset)
|
if (window_doreset)
|
||||||
{
|
{
|
||||||
|
|
@ -486,6 +488,8 @@ int render()
|
||||||
case SDL_WINDOWEVENT:
|
case SDL_WINDOWEVENT:
|
||||||
if (event.window.event == SDL_WINDOWEVENT_CLOSE)
|
if (event.window.event == SDL_WINDOWEVENT_CLOSE)
|
||||||
wx_stop_emulation(ghwnd);
|
wx_stop_emulation(ghwnd);
|
||||||
|
if (event.window.event == SDL_WINDOWEVENT_RESIZED)
|
||||||
|
device_force_redraw();
|
||||||
if (event.window.event == SDL_WINDOWEVENT_FOCUS_LOST)
|
if (event.window.event == SDL_WINDOWEVENT_FOCUS_LOST)
|
||||||
{
|
{
|
||||||
if (is_fullscreen())
|
if (is_fullscreen())
|
||||||
|
|
@ -605,6 +609,7 @@ int render()
|
||||||
remembered_rect.y -= border_y;
|
remembered_rect.y -= border_y;
|
||||||
SDL_GetWindowSize(window, &remembered_rect.w, &remembered_rect.h);
|
SDL_GetWindowSize(window, &remembered_rect.w, &remembered_rect.h);
|
||||||
SDL_SetWindowFullscreen(window, video_fullscreen_mode == 0 ? SDL_WINDOW_FULLSCREEN_DESKTOP : SDL_WINDOW_FULLSCREEN);
|
SDL_SetWindowFullscreen(window, video_fullscreen_mode == 0 ? SDL_WINDOW_FULLSCREEN_DESKTOP : SDL_WINDOW_FULLSCREEN);
|
||||||
|
device_force_redraw();
|
||||||
}
|
}
|
||||||
if (window_doinputgrab) {
|
if (window_doinputgrab) {
|
||||||
window_doinputgrab = 0;
|
window_doinputgrab = 0;
|
||||||
|
|
@ -629,6 +634,7 @@ int render()
|
||||||
#if SDL_VERSION_ATLEAST(2, 0, 4)
|
#if SDL_VERSION_ATLEAST(2, 0, 4)
|
||||||
SDL_WarpMouseGlobal(remembered_mouse_x, remembered_mouse_y);
|
SDL_WarpMouseGlobal(remembered_mouse_x, remembered_mouse_y);
|
||||||
#endif
|
#endif
|
||||||
|
device_force_redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (win_doresize)
|
if (win_doresize)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue