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:
parent
d30593e1d5
commit
fc77f85b6e
@ -316,6 +316,11 @@ screen_update_frame(struct screen *screen, struct video_buffer *vb) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
screen_window_resized(struct screen *screen) {
|
||||||
|
screen_render(screen);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
screen_render(struct screen *screen) {
|
screen_render(struct screen *screen) {
|
||||||
SDL_RenderClear(screen->renderer);
|
SDL_RenderClear(screen->renderer);
|
||||||
@ -391,7 +396,7 @@ screen_handle_window_event(struct screen *screen,
|
|||||||
// window is maximized or fullscreen is enabled.
|
// window is maximized or fullscreen is enabled.
|
||||||
screen->windowed_window_size = get_window_size(screen->window);
|
screen->windowed_window_size = get_window_size(screen->window);
|
||||||
}
|
}
|
||||||
screen_render(screen);
|
screen_window_resized(screen);
|
||||||
break;
|
break;
|
||||||
case SDL_WINDOWEVENT_MAXIMIZED:
|
case SDL_WINDOWEVENT_MAXIMIZED:
|
||||||
// The backup size must be non-nul.
|
// The backup size must be non-nul.
|
||||||
|
@ -74,6 +74,10 @@ screen_destroy(struct screen *screen);
|
|||||||
bool
|
bool
|
||||||
screen_update_frame(struct screen *screen, struct video_buffer *vb);
|
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
|
// render the texture to the renderer
|
||||||
void
|
void
|
||||||
screen_render(struct screen *screen);
|
screen_render(struct screen *screen);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user