InvisibleButton: disable navigation properly + added ImGuiButtonFlags_EnableNav to enable navigation. (#8057)
This commit is contained in:
parent
971d243a87
commit
67e5f3505d
@ -73,7 +73,10 @@ Other changes:
|
|||||||
- Nav: fixed Ctrl+Tab so when starting with no focused window it starts from the top-most
|
- Nav: fixed Ctrl+Tab so when starting with no focused window it starts from the top-most
|
||||||
window. (#3200)
|
window. (#3200)
|
||||||
- Nav: rectangle highlight not rendered for items with ImGuiItemFlags_NoNav. Can be relevant
|
- Nav: rectangle highlight not rendered for items with ImGuiItemFlags_NoNav. Can be relevant
|
||||||
when e.g activating the item with mouse, then ctrl+tabbing back and forth.
|
when e.g activating the item with mouse, then Ctrl+Tabbing back and forth.
|
||||||
|
- InvisibleButton, Nav: fixed an issue when InvisibleButton() would be navigable into but
|
||||||
|
not display navigation highlight. Properly navigation on it by default. (#8057)
|
||||||
|
- InvisibleButton: added ImGuiButtonFlags_EnableNav to enable navigation. (#8057)
|
||||||
- Tooltips: fixed incorrect tooltip positioning when using keyboard/gamepad navigation
|
- Tooltips: fixed incorrect tooltip positioning when using keyboard/gamepad navigation
|
||||||
(1.91.3 regression). (#8036)
|
(1.91.3 regression). (#8036)
|
||||||
- DrawList: AddCallback() added an optional size parameter allowing to copy and
|
- DrawList: AddCallback() added an optional size parameter allowing to copy and
|
||||||
|
2
imgui.h
2
imgui.h
@ -1744,7 +1744,7 @@ enum ImGuiButtonFlags_
|
|||||||
ImGuiButtonFlags_MouseButtonRight = 1 << 1, // React on right mouse button
|
ImGuiButtonFlags_MouseButtonRight = 1 << 1, // React on right mouse button
|
||||||
ImGuiButtonFlags_MouseButtonMiddle = 1 << 2, // React on center mouse button
|
ImGuiButtonFlags_MouseButtonMiddle = 1 << 2, // React on center mouse button
|
||||||
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle, // [Internal]
|
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle, // [Internal]
|
||||||
//ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft,
|
ImGuiButtonFlags_EnableNav = 1 << 3, // InvisibleButton(): do not disable navigation/tabbing. Otherwise disabled by default.
|
||||||
};
|
};
|
||||||
|
|
||||||
// Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton()
|
// Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton()
|
||||||
|
@ -947,7 +947,7 @@ enum ImGuiSelectableFlagsPrivate_
|
|||||||
enum ImGuiTreeNodeFlagsPrivate_
|
enum ImGuiTreeNodeFlagsPrivate_
|
||||||
{
|
{
|
||||||
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 28,// FIXME-WIP: Hard-coded for CollapsingHeader()
|
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 28,// FIXME-WIP: Hard-coded for CollapsingHeader()
|
||||||
ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 29,// FIXME-WIP: Turn Down arrow into an Up arrow, but reversed trees (#6517)
|
ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 29,// FIXME-WIP: Turn Down arrow into an Up arrow, for reversed trees (#6517)
|
||||||
ImGuiTreeNodeFlags_OpenOnMask_ = ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_OpenOnArrow,
|
ImGuiTreeNodeFlags_OpenOnMask_ = ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_OpenOnArrow,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -785,11 +785,12 @@ bool ImGui::InvisibleButton(const char* str_id, const ImVec2& size_arg, ImGuiBut
|
|||||||
ImVec2 size = CalcItemSize(size_arg, 0.0f, 0.0f);
|
ImVec2 size = CalcItemSize(size_arg, 0.0f, 0.0f);
|
||||||
const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + size);
|
const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + size);
|
||||||
ItemSize(size);
|
ItemSize(size);
|
||||||
if (!ItemAdd(bb, id))
|
if (!ItemAdd(bb, id, NULL, (flags & ImGuiButtonFlags_EnableNav) ? ImGuiItemFlags_None : ImGuiItemFlags_NoNav))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
bool hovered, held;
|
bool hovered, held;
|
||||||
bool pressed = ButtonBehavior(bb, id, &hovered, &held, flags);
|
bool pressed = ButtonBehavior(bb, id, &hovered, &held, flags);
|
||||||
|
RenderNavHighlight(bb, id);
|
||||||
|
|
||||||
IMGUI_TEST_ENGINE_ITEM_INFO(id, str_id, g.LastItemData.StatusFlags);
|
IMGUI_TEST_ENGINE_ITEM_INFO(id, str_id, g.LastItemData.StatusFlags);
|
||||||
return pressed;
|
return pressed;
|
||||||
|
Loading…
Reference in New Issue
Block a user