mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013, #143, #925)
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now. Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup. Demo: Added tests for those two functions.
This commit is contained in:
		| @@ -1763,6 +1763,34 @@ void ImGui::ShowTestWindow(bool* p_open) | ||||
|             ImGui::TreePop(); | ||||
|         } | ||||
|  | ||||
|         if (ImGui::TreeNode("Hovering")) | ||||
|         { | ||||
|             // Testing IsWindowHovered() function | ||||
|             ImGui::BulletText( | ||||
|                 "IsWindowHovered() = %d\n" | ||||
|                 "IsWindowHovered(_AllowWhenBlockedByPopup) = %d\n", | ||||
|                 //"IsWindowHovered(_AllowWhenBlockedByActiveItem) = %d\n", | ||||
|                 ImGui::IsWindowHovered(), | ||||
|                 ImGui::IsWindowHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup)); | ||||
|                 //ImGui::IsWindowHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem)); | ||||
|  | ||||
|             // Testing IsItemHovered() function (because BulletText is an item itself and that would affect the output of IsItemHovered, we pass all lines in a single items to shorten the code) | ||||
|             ImGui::Button("ITEM"); | ||||
|             ImGui::BulletText( | ||||
|                 "IsItemHovered() = %d\n" | ||||
|                 "IsItemHovered(_AllowWhenBlockedByPopup) = %d\n" | ||||
|                 "IsItemHovered(_AllowWhenBlockedByActiveItem) = %d\n" | ||||
|                 "IsItemHovered(_AllowWhenOverlapped) = %d\n" | ||||
|                 "IsItemhovered(_RectOnly) = %d\n", | ||||
|                 ImGui::IsItemHovered(), | ||||
|                 ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup), | ||||
|                 ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem), | ||||
|                 ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenOverlapped), | ||||
|                 ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly)); | ||||
|  | ||||
|             ImGui::TreePop(); | ||||
|         } | ||||
|  | ||||
|         if (ImGui::TreeNode("Dragging")) | ||||
|         { | ||||
|             ImGui::TextWrapped("You can use ImGui::GetMouseDragDelta(0) to query for the dragged amount on any widget."); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user