Qt: Fix controller navigation for fullscreen UI

This commit is contained in:
Connor McLaughlin 2021-02-27 01:17:44 +10:00
parent d6b8a80eb7
commit b4e4e5891d
5 changed files with 6 additions and 20 deletions

View File

@ -194,22 +194,12 @@ void NoGUIHostInterface::RequestExit()
m_quit_request = true;
}
void NoGUIHostInterface::PollAndUpdate()
{
CommonHostInterface::PollAndUpdate();
if (m_controller_interface)
m_controller_interface->PollEvents();
}
void NoGUIHostInterface::Run()
{
while (!m_quit_request)
{
RunCallbacks();
PollAndUpdate();
if (m_fullscreen_ui_enabled)
FullscreenUI::SetImGuiNavInputs();
ImGui::NewFrame();

View File

@ -42,7 +42,6 @@ protected:
void ReleaseHostDisplay() override;
void RequestExit() override;
virtual void PollAndUpdate() override;
virtual bool CreatePlatformWindow(bool fullscreen) = 0;
virtual void DestroyPlatformWindow() = 0;

View File

@ -651,14 +651,6 @@ void* QtHostInterface::GetTopLevelWindowHandle() const
return reinterpret_cast<void*>(m_main_window->winId());
}
void QtHostInterface::PollAndUpdate()
{
CommonHostInterface::PollAndUpdate();
if (m_controller_interface)
m_controller_interface->PollEvents();
}
void QtHostInterface::RequestExit()
{
emit exitRequested();

View File

@ -192,7 +192,6 @@ protected:
void ReleaseHostDisplay() override;
bool IsFullscreen() const override;
bool SetFullscreen(bool enabled) override;
void PollAndUpdate() override;
void RequestExit() override;
std::optional<HostKeyCode> GetHostKeyCode(const std::string_view key_code) const override;

View File

@ -470,6 +470,12 @@ void CommonHostInterface::OnAchievementsRefreshed()
void CommonHostInterface::PollAndUpdate()
{
if (m_controller_interface)
m_controller_interface->PollEvents();
if (m_fullscreen_ui_enabled)
FullscreenUI::SetImGuiNavInputs();
#ifdef WITH_DISCORD_PRESENCE
PollDiscordPresence();
#endif