Handle window resizing in screen

Only the screen knows what to do when the window is resized.

This paves the way to do other actions on window resizing.
This commit is contained in:
Romain Vimont 2019-10-20 15:32:33 +02:00
parent d30593e1d5
commit fc77f85b6e
2 changed files with 10 additions and 1 deletions

View File

@ -316,6 +316,11 @@ screen_update_frame(struct screen *screen, struct video_buffer *vb) {
return true;
}
void
screen_window_resized(struct screen *screen) {
screen_render(screen);
}
void
screen_render(struct screen *screen) {
SDL_RenderClear(screen->renderer);
@ -391,7 +396,7 @@ screen_handle_window_event(struct screen *screen,
// window is maximized or fullscreen is enabled.
screen->windowed_window_size = get_window_size(screen->window);
}
screen_render(screen);
screen_window_resized(screen);
break;
case SDL_WINDOWEVENT_MAXIMIZED:
// The backup size must be non-nul.

View File

@ -74,6 +74,10 @@ screen_destroy(struct screen *screen);
bool
screen_update_frame(struct screen *screen, struct video_buffer *vb);
// update content after window resizing
void
screen_window_resized(struct screen *screen);
// render the texture to the renderer
void
screen_render(struct screen *screen);