From 034fa7c29c0bb78ae20479183b23d0dbc1223cca Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Sun, 5 Nov 2023 20:31:08 -0700 Subject: [PATCH] fix window resize --- parallel-rdp/interface.cpp | 4 ++++ parallel-rdp/wsi_platform.cpp | 5 +++++ parallel-rdp/wsi_platform.hpp | 1 + 3 files changed, 10 insertions(+) diff --git a/parallel-rdp/interface.cpp b/parallel-rdp/interface.cpp index cbd29b1d..34acc784 100644 --- a/parallel-rdp/interface.cpp +++ b/parallel-rdp/interface.cpp @@ -184,11 +184,15 @@ int sdl_event_filter(void *userdata, SDL_Event *event) { if (event->type == SDL_WINDOWEVENT) { + SDL_WSIPlatform *platform = (SDL_WSIPlatform *)&wsi->get_platform(); switch (event->window.event) { case SDL_WINDOWEVENT_CLOSE: emu_running = 0; break; + case SDL_WINDOWEVENT_RESIZED: + platform->do_resize(); + break; default: break; } diff --git a/parallel-rdp/wsi_platform.cpp b/parallel-rdp/wsi_platform.cpp index 4cfc2136..8bf77ce7 100644 --- a/parallel-rdp/wsi_platform.cpp +++ b/parallel-rdp/wsi_platform.cpp @@ -58,3 +58,8 @@ void SDL_WSIPlatform::set_window(SDL_Window *_window) { window = _window; } + +void SDL_WSIPlatform::do_resize() +{ + resize = true; +} diff --git a/parallel-rdp/wsi_platform.hpp b/parallel-rdp/wsi_platform.hpp index 5c1c0fe8..9b82fc81 100644 --- a/parallel-rdp/wsi_platform.hpp +++ b/parallel-rdp/wsi_platform.hpp @@ -14,6 +14,7 @@ public: bool alive(Vulkan::WSI &wsi) override; void poll_input() override; void set_window(SDL_Window *_window); + void do_resize(); private: VkSurfaceKHR surface;