mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	TreeNode: Fixed combination of ImGuiTreeNodeFlags_SpanFullWidth and ImGuiTreeNodeFlags_OpenOnArrow incorrectly locating the arrow hit position to the left of the frame. (#2451, #2438, #1897)
This commit is contained in:
		| @@ -38,6 +38,8 @@ Breaking Changes: | ||||
|  | ||||
| Other Changes: | ||||
| - InputText, Nav: Fixed Home/End key broken when activating Keyboard Navigation. (#787) | ||||
| - TreeNode: Fixed combination of ImGuiTreeNodeFlags_SpanFullWidth and ImGuiTreeNodeFlags_OpenOnArrow | ||||
|   incorrectly locating the arrow hit position to the left of the frame. (#2451, #2438, #1897) | ||||
|  | ||||
|  | ||||
| ----------------------------------------------------------------------- | ||||
|   | ||||
| @@ -5270,9 +5270,11 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l | ||||
|     { | ||||
|         if (pressed) | ||||
|         { | ||||
|             const float arrow_x1 = text_pos.x - text_offset_x; | ||||
|             const float arrow_x2 = arrow_x1 + g.FontSize + padding.x * 2.0f; | ||||
|             toggled = !(flags & (ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_OpenOnDoubleClick)) || (g.NavActivateId == id); | ||||
|             if (flags & ImGuiTreeNodeFlags_OpenOnArrow) | ||||
|                 toggled |= IsMouseHoveringRect(interact_bb.Min, ImVec2(interact_bb.Min.x + text_offset_x, interact_bb.Max.y)) && (!g.NavDisableMouseHover); | ||||
|                 toggled |= IsMouseHoveringRect(ImVec2(arrow_x1, interact_bb.Min.y), ImVec2(arrow_x2, interact_bb.Max.y)) && (!g.NavDisableMouseHover); | ||||
|             if (flags & ImGuiTreeNodeFlags_OpenOnDoubleClick) | ||||
|                 toggled |= g.IO.MouseDoubleClicked[0]; | ||||
|             if (g.DragDropActive && is_open) // When using Drag and Drop "hold to open" we keep the node highlighted after opening, but never close it again. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user