mirror of
https://github.com/ocornut/imgui.git
synced 2025-10-15 22:46:01 +00:00
Shortcuts: added support for combining ImGuiInputFlags_RouteFocused with ImGuiInputFlags_RouteOverActive,. (#9004)
This commit is contained in:
@@ -67,6 +67,10 @@ Other Changes:
|
|||||||
using ImGuiWindowFlags_UnsavedDocument/ImGuiTabItemFlags_UnsavedDocument. (#8983)
|
using ImGuiWindowFlags_UnsavedDocument/ImGuiTabItemFlags_UnsavedDocument. (#8983)
|
||||||
- IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers()
|
- IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers()
|
||||||
helpers to null all handlers. (#8945, #2769)
|
helpers to null all handlers. (#8945, #2769)
|
||||||
|
- Inputs:
|
||||||
|
- Shortcuts: added support for combining ImGuiInputFlags_RouteFocused
|
||||||
|
(which is the default route) with ImGuiInputFlags_RouteOverActive, allowing
|
||||||
|
to steal shortcuts from active item without using global routing. (#9004)
|
||||||
- InputText:
|
- InputText:
|
||||||
- Fixed single-line InputText() not applying fine character clipping
|
- Fixed single-line InputText() not applying fine character clipping
|
||||||
properly (regression in 1.92.3). (#8967) [@Cyphall]
|
properly (regression in 1.92.3). (#8967) [@Cyphall]
|
||||||
|
11
imgui.cpp
11
imgui.cpp
@@ -9477,7 +9477,12 @@ static int CalcRoutingScore(ImGuiID focus_scope_id, ImGuiID owner_id, ImGuiInput
|
|||||||
return 0;
|
return 0;
|
||||||
for (int index_in_focus_path = 0; index_in_focus_path < g.NavFocusRoute.Size; index_in_focus_path++)
|
for (int index_in_focus_path = 0; index_in_focus_path < g.NavFocusRoute.Size; index_in_focus_path++)
|
||||||
if (g.NavFocusRoute.Data[index_in_focus_path].ID == focus_scope_id)
|
if (g.NavFocusRoute.Data[index_in_focus_path].ID == focus_scope_id)
|
||||||
return 199 - index_in_focus_path;
|
{
|
||||||
|
if (flags & ImGuiInputFlags_RouteOverActive) // && g.ActiveId != 0 && g.ActiveId != owner_id)
|
||||||
|
return 599 - index_in_focus_path;
|
||||||
|
else
|
||||||
|
return 199 - index_in_focus_path;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (flags & ImGuiInputFlags_RouteActive)
|
else if (flags & ImGuiInputFlags_RouteActive)
|
||||||
@@ -9534,8 +9539,10 @@ bool ImGui::SetShortcutRouting(ImGuiKeyChord key_chord, ImGuiInputFlags flags, I
|
|||||||
else
|
else
|
||||||
IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiInputFlags_RouteTypeMask_)); // Check that only 1 routing flag is used
|
IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiInputFlags_RouteTypeMask_)); // Check that only 1 routing flag is used
|
||||||
IM_ASSERT(owner_id != ImGuiKeyOwner_Any && owner_id != ImGuiKeyOwner_NoOwner);
|
IM_ASSERT(owner_id != ImGuiKeyOwner_Any && owner_id != ImGuiKeyOwner_NoOwner);
|
||||||
if (flags & (ImGuiInputFlags_RouteOverFocused | ImGuiInputFlags_RouteOverActive | ImGuiInputFlags_RouteUnlessBgFocused))
|
if (flags & (ImGuiInputFlags_RouteOverFocused | ImGuiInputFlags_RouteUnlessBgFocused))
|
||||||
IM_ASSERT(flags & ImGuiInputFlags_RouteGlobal);
|
IM_ASSERT(flags & ImGuiInputFlags_RouteGlobal);
|
||||||
|
if (flags & ImGuiInputFlags_RouteOverActive)
|
||||||
|
IM_ASSERT(flags & (ImGuiInputFlags_RouteGlobal | ImGuiInputFlags_RouteFocused));
|
||||||
|
|
||||||
// Add ImGuiMod_XXXX when a corresponding ImGuiKey_LeftXXX/ImGuiKey_RightXXX is specified.
|
// Add ImGuiMod_XXXX when a corresponding ImGuiKey_LeftXXX/ImGuiKey_RightXXX is specified.
|
||||||
key_chord = FixupKeyChord(key_chord);
|
key_chord = FixupKeyChord(key_chord);
|
||||||
|
2
imgui.h
2
imgui.h
@@ -29,7 +29,7 @@
|
|||||||
// Library Version
|
// Library Version
|
||||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
||||||
#define IMGUI_VERSION "1.92.4 WIP"
|
#define IMGUI_VERSION "1.92.4 WIP"
|
||||||
#define IMGUI_VERSION_NUM 19235
|
#define IMGUI_VERSION_NUM 19236
|
||||||
#define IMGUI_HAS_TABLE // Added BeginTable() - from IMGUI_VERSION_NUM >= 18000
|
#define IMGUI_HAS_TABLE // Added BeginTable() - from IMGUI_VERSION_NUM >= 18000
|
||||||
#define IMGUI_HAS_TEXTURES // Added ImGuiBackendFlags_RendererHasTextures - from IMGUI_VERSION_NUM >= 19198
|
#define IMGUI_HAS_TEXTURES // Added ImGuiBackendFlags_RendererHasTextures - from IMGUI_VERSION_NUM >= 19198
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user