mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	IsItemHovered(): fixed return value false positive when used after EndChild(), EndGroup() or widgets using either... (#3851, #1370)
...when the hovered location is located within a child window, e.g. InputTextMultiline(). This is intended to have no side effects, but brace yourself for the possible comeback.. This essentially makes IsItemHovered() not accept hover from child windows, but EndChild/EndGroup are forwarded. More or less should fix/revertc76f014292which was a revert of344d48be3
This commit is contained in:
		@@ -697,12 +697,13 @@ enum ImGuiItemStatusFlags_
 | 
			
		||||
{
 | 
			
		||||
    ImGuiItemStatusFlags_None               = 0,
 | 
			
		||||
    ImGuiItemStatusFlags_HoveredRect        = 1 << 0,
 | 
			
		||||
    ImGuiItemStatusFlags_HasDisplayRect     = 1 << 1,
 | 
			
		||||
    ImGuiItemStatusFlags_HasDisplayRect     = 1 << 1,   // LastItemDisplayRect is valid
 | 
			
		||||
    ImGuiItemStatusFlags_Edited             = 1 << 2,   // Value exposed by item was edited in the current frame (should match the bool return value of most widgets)
 | 
			
		||||
    ImGuiItemStatusFlags_ToggledSelection   = 1 << 3,   // Set when Selectable(), TreeNode() reports toggling a selection. We can't report "Selected" because reporting the change allows us to handle clipping with less issues.
 | 
			
		||||
    ImGuiItemStatusFlags_ToggledOpen        = 1 << 4,   // Set when TreeNode() reports toggling their open state.
 | 
			
		||||
    ImGuiItemStatusFlags_HasDeactivated     = 1 << 5,   // Set if the widget/group is able to provide data for the ImGuiItemStatusFlags_Deactivated flag.
 | 
			
		||||
    ImGuiItemStatusFlags_Deactivated        = 1 << 6    // Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
 | 
			
		||||
    ImGuiItemStatusFlags_Deactivated        = 1 << 6,   // Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
 | 
			
		||||
    ImGuiItemStatusFlags_HoveredWindow      = 1 << 7    // Override the HoveredWindow test to allow cross-window hover testing.
 | 
			
		||||
 | 
			
		||||
#ifdef IMGUI_ENABLE_TEST_ENGINE
 | 
			
		||||
    , // [imgui_tests only]
 | 
			
		||||
@@ -924,7 +925,7 @@ struct ImGuiStyleMod
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Stacked storage data for BeginGroup()/EndGroup()
 | 
			
		||||
struct ImGuiGroupData
 | 
			
		||||
struct IMGUI_API ImGuiGroupData
 | 
			
		||||
{
 | 
			
		||||
    ImGuiID     WindowID;
 | 
			
		||||
    ImVec2      BackupCursorPos;
 | 
			
		||||
@@ -935,6 +936,7 @@ struct ImGuiGroupData
 | 
			
		||||
    float       BackupCurrLineTextBaseOffset;
 | 
			
		||||
    ImGuiID     BackupActiveIdIsAlive;
 | 
			
		||||
    bool        BackupActiveIdPreviousFrameIsAlive;
 | 
			
		||||
    bool        BackupHoveredIdIsAlive;
 | 
			
		||||
    bool        EmitItem;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user