mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
This commit is contained in:
		
							
								
								
									
										11
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -1167,6 +1167,8 @@ ImGuiStyle::ImGuiStyle() | ||||
|     HoverStationaryDelay    = 0.15f;            // Delay for IsItemHovered(ImGuiHoveredFlags_Stationary). Time required to consider mouse stationary. | ||||
|     HoverDelayShort         = 0.15f;            // Delay for IsItemHovered(ImGuiHoveredFlags_DelayShort). Usually used along with HoverStationaryDelay. | ||||
|     HoverDelayNormal        = 0.40f;            // Delay for IsItemHovered(ImGuiHoveredFlags_DelayNormal). " | ||||
|     HoverFlagsForTooltipMouse = ImGuiHoveredFlags_Stationary | ImGuiHoveredFlags_DelayShort;    // Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using mouse. | ||||
|     HoverFlagsForTooltipNav = ImGuiHoveredFlags_NoSharedDelay | ImGuiHoveredFlags_DelayNormal;  // Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using keyboard/gamepad. | ||||
|  | ||||
|     // Default theme | ||||
|     ImGui::StyleColorsDark(this); | ||||
| @@ -1260,7 +1262,6 @@ ImGuiIO::ImGuiIO() | ||||
|     MousePos = ImVec2(-FLT_MAX, -FLT_MAX); | ||||
|     MousePosPrev = ImVec2(-FLT_MAX, -FLT_MAX); | ||||
|     MouseSource = ImGuiMouseSource_Mouse; | ||||
|     MouseDragThreshold = 6.0f; | ||||
|     for (int i = 0; i < IM_ARRAYSIZE(MouseDownDuration); i++) MouseDownDuration[i] = MouseDownDurationPrev[i] = -1.0f; | ||||
|     for (int i = 0; i < IM_ARRAYSIZE(KeysData); i++) { KeysData[i].DownDuration = KeysData[i].DownDurationPrev = -1.0f; } | ||||
|     AppAcceptingEvents = true; | ||||
| @@ -3939,12 +3940,16 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) | ||||
| { | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     ImGuiWindow* window = g.CurrentWindow; | ||||
|  | ||||
|     if (g.NavDisableMouseHover && !g.NavDisableHighlight && !(flags & ImGuiHoveredFlags_NoNavOverride)) | ||||
|     { | ||||
|         if ((g.LastItemData.InFlags & ImGuiItemFlags_Disabled) && !(flags & ImGuiHoveredFlags_AllowWhenDisabled)) | ||||
|             return false; | ||||
|         if (!IsItemFocused()) | ||||
|             return false; | ||||
|  | ||||
|         if (flags & ImGuiHoveredFlags_ForTooltip) | ||||
|             flags |= g.Style.HoverFlagsForTooltipNav; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
| @@ -3952,6 +3957,10 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) | ||||
|         ImGuiItemStatusFlags status_flags = g.LastItemData.StatusFlags; | ||||
|         if (!(status_flags & ImGuiItemStatusFlags_HoveredRect)) | ||||
|             return false; | ||||
|  | ||||
|         if (flags & ImGuiHoveredFlags_ForTooltip) | ||||
|             flags |= g.Style.HoverFlagsForTooltipMouse; | ||||
|  | ||||
|         IM_ASSERT((flags & (ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_NoPopupHierarchy)) == 0);   // Flags not supported by this function | ||||
|  | ||||
|         // Done with rectangle culling so we can perform heavier checks now | ||||
|   | ||||
		Reference in New Issue
	
	Block a user