Handle window events from screen.c
Only the screen knows what to do on window events. This paves the way to handle more window events.
This commit is contained in:
parent
6996cbf5d3
commit
f6f2868868
3 changed files with 16 additions and 6 deletions
|
@ -144,12 +144,7 @@ handle_event(SDL_Event *event, bool control) {
|
|||
}
|
||||
break;
|
||||
case SDL_WINDOWEVENT:
|
||||
switch (event->window.event) {
|
||||
case SDL_WINDOWEVENT_EXPOSED:
|
||||
case SDL_WINDOWEVENT_SIZE_CHANGED:
|
||||
screen_render(&screen);
|
||||
break;
|
||||
}
|
||||
screen_handle_window_event(&screen, &event->window);
|
||||
break;
|
||||
case SDL_TEXTINPUT:
|
||||
if (!control) {
|
||||
|
|
|
@ -327,3 +327,14 @@ screen_resize_to_pixel_perfect(struct screen *screen) {
|
|||
LOGD("Resized to pixel-perfect");
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
screen_handle_window_event(struct screen *screen,
|
||||
const SDL_WindowEvent *event) {
|
||||
switch (event->event) {
|
||||
case SDL_WINDOWEVENT_EXPOSED:
|
||||
case SDL_WINDOWEVENT_SIZE_CHANGED:
|
||||
screen_render(screen);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,4 +76,8 @@ screen_resize_to_fit(struct screen *screen);
|
|||
void
|
||||
screen_resize_to_pixel_perfect(struct screen *screen);
|
||||
|
||||
// react to window events
|
||||
void
|
||||
screen_handle_window_event(struct screen *screen, const SDL_WindowEvent *event);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue