diff --git a/app/src/scrcpy.c b/app/src/scrcpy.c index c219c9e5..c2ed8bb7 100644 --- a/app/src/scrcpy.c +++ b/app/src/scrcpy.c @@ -145,9 +145,11 @@ handle_event(SDL_Event *event, bool control) { case SDL_WINDOWEVENT: switch (event->window.event) { case SDL_WINDOWEVENT_EXPOSED: - case SDL_WINDOWEVENT_SIZE_CHANGED: screen_render(&screen); break; + case SDL_WINDOWEVENT_SIZE_CHANGED: + screen_window_resized(&screen); + break; } break; case SDL_TEXTINPUT: diff --git a/app/src/screen.c b/app/src/screen.c index 4bc4c5c5..f90863dd 100644 --- a/app/src/screen.c +++ b/app/src/screen.c @@ -278,6 +278,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); diff --git a/app/src/screen.h b/app/src/screen.h index bc189189..fed84ece 100644 --- a/app/src/screen.h +++ b/app/src/screen.h @@ -60,6 +60,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);