mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
This commit is contained in:
		| @@ -45,7 +45,7 @@ Breaking changes: | ||||
| - IO: Obsoleted io.ClearInputCharacters() (added in 1.47) as it now ambiguous | ||||
|   and often incorrect/misleading considering the existence of a higher-level | ||||
|   input queue. (#4921) | ||||
| - ImDrawData: CmdLists[] arra is now owned, changed from 'ImDrawList**' to | ||||
| - ImDrawData: CmdLists[] array is now owned, changed from 'ImDrawList**' to | ||||
|   'ImVector<ImDrawList*>'. Majority of users shouldn't be affected, but you | ||||
|   cannot compare to NULL nor reassign manually anymore. | ||||
|   Instead use AddDrawList(). (#6406, #4879, #1878) | ||||
| @@ -98,6 +98,11 @@ Breaking changes: | ||||
|     legacy 'SetItemAllowOverlap()' call (public API) + ImGuiButtonFlags_AllowOverlap (internal). | ||||
|   - Obsoleted 'SetItemAllowOverlap()': it didn't and couldn't work reliably since 1.89 (2022-11-15), | ||||
|     and relied on ambiguously defined design. Use 'SetNextItemAllowOverlap()' before item instead. | ||||
|   - Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap | ||||
|     and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909) | ||||
|     While this fixes a common small visual issue, it also means that calling IsItemHovered() | ||||
|     after a non-reactive elements - e.g. Text() - overlapping an active one may fail if you don't | ||||
|     use IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem). (#6610) | ||||
|   - Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap'. | ||||
|   - Renamed 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap' | ||||
|   - Kept redirecting enums (will obsolete). | ||||
| @@ -133,8 +138,6 @@ Other changes: | ||||
|   - Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. | ||||
|   - IsItemHovered: Changed to return false when querying an item using AllowOverlap mode which | ||||
|     is being overlapped. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem to opt-out. (#6512, #3909, #517) | ||||
|   - Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap | ||||
|     and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909) | ||||
| - IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary. | ||||
| - IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags. | ||||
| - Tables: Fixed a regression in 1.89.6 leading to the first column of tables with either | ||||
|   | ||||
| @@ -429,6 +429,7 @@ CODE | ||||
|  - 2023/06/28 (1.89.7) - overlapping items: obsoleted 'SetItemAllowOverlap()' (called after item) in favor of calling 'SetNextItemAllowOverlap()' (called before item). 'SetItemAllowOverlap()' didn't and couldn't work reliably since 1.89 (2022-11-15). | ||||
|  - 2023/06/28 (1.89.7) - overlapping items: renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). | ||||
|  - 2023/06/28 (1.89.7) - overlapping items: IsItemHovered() now by default return false when querying an item using AllowOverlap mode which is being overlapped. Use ImGuiHoveredFlags_AllowWhenOverlappedByItem to revert to old behavior. | ||||
|  - 2023/06/28 (1.89.7) - overlapping items: Selectable and TreeNode don't allow overlap when active so overlapping widgets won't appear as hovered. While this fixes a common small visual issue, it also means that calling IsItemHovered() after a non-reactive elements - e.g. Text() - overlapping an active one may fail if you don't use IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem). (#6610) | ||||
|  - 2023/06/20 (1.89.7) - moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. As the fields were added in 1.89 and expected to be left unchanged by most users, or only tweaked once during app initialization, we are exceptionally accepting the breakage. | ||||
|  - 2023/05/30 (1.89.6) - backends: renamed "imgui_impl_sdlrenderer.cpp" to "imgui_impl_sdlrenderer2.cpp" and "imgui_impl_sdlrenderer.h" to "imgui_impl_sdlrenderer2.h". This is in prevision for the future release of SDL3. | ||||
|  - 2023/05/22 (1.89.6) - listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: | ||||
| @@ -4077,7 +4078,7 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) | ||||
| // Internal facing ItemHoverable() used when submitting widgets. Differs slightly from IsItemHovered(). | ||||
| // (this does not rely on LastItemData it can be called from a ButtonBehavior() call not following an ItemAdd() call) | ||||
| // FIXME-LEGACY: the 'ImGuiItemFlags item_flags' parameter was added on 2023-06-28. | ||||
| // If you used this ii your legacy/custom widgets code: | ||||
| // If you used this in your legacy/custom widgets code: | ||||
| // - Commonly: if your ItemHoverable() call comes after an ItemAdd() call: pass 'item_flags = g.LastItemData.InFlags'. | ||||
| // - Rare: otherwise you may pass 'item_flags = 0' (ImGuiItemFlags_None) unless you want to benefit from special behavior handled by ItemHoverable. | ||||
| bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id, ImGuiItemFlags item_flags) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user