Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
diff --git a/imgui.cpp b/imgui.cpp
index 9d71233..51c0a17 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -9687,6 +9687,28 @@
g.NextItemData.ShortcutFlags = flags;
}
+void ImGui::ItemHandleShortcut(ImGuiID id)
+{
+ ImGuiContext& g = *GImGui;
+ ImGuiInputFlags flags = g.NextItemData.ShortcutFlags;
+ IM_ASSERT((flags & ~ImGuiInputFlags_SupportedBySetNextItemShortcut) == 0); // Passing flags not supported by SetNextItemShortcut()!
+
+ if (flags & ImGuiInputFlags_Tooltip)
+ {
+ g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_HasShortcut;
+ g.LastItemData.Shortcut = g.NextItemData.Shortcut;
+ }
+ if (!Shortcut(g.NextItemData.Shortcut, flags & ImGuiInputFlags_SupportedByShortcut, id) || g.NavActivateId != 0)
+ return;
+
+ // FIXME: Generalize Activation queue?
+ g.NavActivateId = id; // Will effectively disable clipping.
+ g.NavActivateFlags = ImGuiActivateFlags_PreferInput | ImGuiActivateFlags_FromShortcut;
+ //if (g.ActiveId == 0 || g.ActiveId == id)
+ g.NavActivateDownId = g.NavActivatePressedId = id;
+ NavHighlightActivated(id);
+}
+
bool ImGui::Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags)
{
return Shortcut(key_chord, flags, ImGuiKeyOwner_Any);
@@ -10004,7 +10026,6 @@
// [SECTION] ITEM SUBMISSION
//-----------------------------------------------------------------------------
// - KeepAliveID()
-// - ItemHandleShortcut() [Internal]
// - ItemAdd()
//-----------------------------------------------------------------------------
@@ -10018,28 +10039,6 @@
g.ActiveIdPreviousFrameIsAlive = true;
}
-void ImGui::ItemHandleShortcut(ImGuiID id)
-{
- ImGuiContext& g = *GImGui;
- ImGuiInputFlags flags = g.NextItemData.ShortcutFlags;
- IM_ASSERT((flags & ~ImGuiInputFlags_SupportedBySetNextItemShortcut) == 0); // Passing flags not supported by SetNextItemShortcut()!
-
- if (flags & ImGuiInputFlags_Tooltip)
- {
- g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_HasShortcut;
- g.LastItemData.Shortcut = g.NextItemData.Shortcut;
- }
- if (!Shortcut(g.NextItemData.Shortcut, flags & ImGuiInputFlags_SupportedByShortcut, id) || g.NavActivateId != 0)
- return;
-
- // FIXME: Generalize Activation queue?
- g.NavActivateId = id; // Will effectively disable clipping.
- g.NavActivateFlags = ImGuiActivateFlags_PreferInput | ImGuiActivateFlags_FromShortcut;
- //if (g.ActiveId == 0 || g.ActiveId == id)
- g.NavActivateDownId = g.NavActivatePressedId = id;
- NavHighlightActivated(id);
-}
-
// Declare item bounding box for clipping and interaction.
// Note that the size can be different than the one provided to ItemSize(). Typically, widgets that spread over available surface
// declare their minimum size requirement to ItemSize() and provide a larger region to ItemAdd() which is used drawing/interaction.