Achievements: Reset focus when opening windows

This commit is contained in:
Stenzek
2024-08-26 14:21:09 +10:00
parent b04f721d55
commit 7a05d5aca5
4 changed files with 30 additions and 8 deletions

View File

@ -604,6 +604,12 @@ bool ImGuiFullscreen::IsFocusResetQueued()
return (s_focus_reset_queued != FocusResetType::None);
}
bool ImGuiFullscreen::IsFocusResetFromWindowChange()
{
return (s_focus_reset_queued != FocusResetType::None && s_focus_reset_queued != FocusResetType::PopupOpened &&
s_focus_reset_queued != FocusResetType::PopupClosed);
}
ImGuiFullscreen::FocusResetType ImGuiFullscreen::GetQueuedFocusResetType()
{
return s_focus_reset_queued;
@ -1940,7 +1946,8 @@ bool ImGuiFullscreen::NavTab(const char* title, bool is_active, bool enabled /*
hovered ? ImGui::GetColorU32(held ? ImGuiCol_ButtonActive : ImGuiCol_ButtonHovered, 1.0f) :
ImGui::GetColorU32(is_active ? background : ImVec4(background.x, background.y, background.z, 0.5f));
DrawMenuButtonFrame(bb.Min, bb.Max, col, true, 0.0f);
if (hovered)
DrawMenuButtonFrame(bb.Min, bb.Max, col, true, 0.0f);
if (is_active)
{

View File

@ -153,6 +153,7 @@ enum class FocusResetType : u8
void QueueResetFocus(FocusResetType type);
bool ResetFocusHere();
bool IsFocusResetQueued();
bool IsFocusResetFromWindowChange();
FocusResetType GetQueuedFocusResetType();
void ForceKeyNavEnabled();