From 40799d0f77acf77e61e4b74ef8701ad810954f08 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Fri, 24 Jan 2020 14:51:56 +1000 Subject: [PATCH] HostInterface: Move ModifyResolutionScale() to base class --- src/core/host_interface.cpp | 17 +++++++++++++++++ src/core/host_interface.h | 3 +++ src/duckstation/sdl_host_interface.cpp | 21 +-------------------- src/duckstation/sdl_host_interface.h | 1 - 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/core/host_interface.cpp b/src/core/host_interface.cpp index b10e1f981..f5d14865d 100644 --- a/src/core/host_interface.cpp +++ b/src/core/host_interface.cpp @@ -559,6 +559,23 @@ void HostInterface::ToggleSoftwareRendering() m_system->RecreateGPU(new_renderer); } +void HostInterface::ModifyResolutionScale(s32 increment) +{ + const u32 new_resolution_scale = + std::clamp(static_cast(static_cast(m_settings.gpu_resolution_scale) + increment), 1, + m_settings.max_gpu_resolution_scale); + if (new_resolution_scale == m_settings.gpu_resolution_scale) + return; + + m_settings.gpu_resolution_scale = new_resolution_scale; + if (m_system) + m_system->GetGPU()->UpdateSettings(); + + AddFormattedOSDMessage(2.0f, "Resolution scale set to %ux (%ux%u)", m_settings.gpu_resolution_scale, + GPU::VRAM_WIDTH * m_settings.gpu_resolution_scale, + GPU::VRAM_HEIGHT * m_settings.gpu_resolution_scale); +} + void HostInterface::RunFrame() { m_frame_timer.Reset(); diff --git a/src/core/host_interface.h b/src/core/host_interface.h index 7d42066b1..77f8ce736 100644 --- a/src/core/host_interface.h +++ b/src/core/host_interface.h @@ -111,6 +111,9 @@ protected: /// Quick switch between software and hardware rendering. void ToggleSoftwareRendering(); + /// Adjusts the internal (render) resolution of the hardware backends. + void ModifyResolutionScale(s32 increment); + void RunFrame(); /// Throttles the system, i.e. sleeps until it's time to execute the next frame. diff --git a/src/duckstation/sdl_host_interface.cpp b/src/duckstation/sdl_host_interface.cpp index 654a7e976..ecca91584 100644 --- a/src/duckstation/sdl_host_interface.cpp +++ b/src/duckstation/sdl_host_interface.cpp @@ -426,9 +426,7 @@ void SDLHostInterface::HandleSDLKeyEvent(const SDL_Event* event) case SDL_SCANCODE_PAGEUP: case SDL_SCANCODE_PAGEDOWN: { if (pressed) - { - DoModifyInternalResolution(event->key.keysym.scancode == SDL_SCANCODE_PAGEUP ? 1 : -1); - } + ModifyResolutionScale(event->key.keysym.scancode == SDL_SCANCODE_PAGEUP ? 1 : -1); } break; } @@ -1555,23 +1553,6 @@ void SDLHostInterface::DoToggleFullscreen() UpdateFullscreen(); } -void SDLHostInterface::DoModifyInternalResolution(s32 increment) -{ - const u32 new_resolution_scale = - std::clamp(static_cast(static_cast(m_settings.gpu_resolution_scale) + increment), 1, - m_settings.max_gpu_resolution_scale); - if (new_resolution_scale == m_settings.gpu_resolution_scale) - return; - - m_settings.gpu_resolution_scale = new_resolution_scale; - if (m_system) - m_system->GetGPU()->UpdateSettings(); - - AddFormattedOSDMessage(2.0f, "Resolution scale set to %ux (%ux%u)", m_settings.gpu_resolution_scale, - GPU::VRAM_WIDTH * m_settings.gpu_resolution_scale, - GPU::VRAM_HEIGHT * m_settings.gpu_resolution_scale); -} - void SDLHostInterface::Run() { m_audio_stream->PauseOutput(false); diff --git a/src/duckstation/sdl_host_interface.h b/src/duckstation/sdl_host_interface.h index 257657a90..fae38782d 100644 --- a/src/duckstation/sdl_host_interface.h +++ b/src/duckstation/sdl_host_interface.h @@ -100,7 +100,6 @@ private: void DoTogglePause(); void DoFrameStep(); void DoToggleFullscreen(); - void DoModifyInternalResolution(s32 increment); void HandleSDLEvent(const SDL_Event* event); void HandleSDLKeyEvent(const SDL_Event* event);