| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -7564,17 +7564,21 @@ bool ImGui::InvisibleButton(const char* str_id, const ImVec2& size_arg) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return pressed; | 
					 | 
					 | 
					 | 
					    return pressed; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// Upper-right button to close a window.
 | 
					 | 
					 | 
					 | 
					// Button to close a window
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool ImGui::CloseButton(ImGuiID id, const ImVec2& pos, float radius) | 
					 | 
					 | 
					 | 
					bool ImGui::CloseButton(ImGuiID id, const ImVec2& pos, float radius) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{ | 
					 | 
					 | 
					 | 
					{ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ImGuiWindow* window = GetCurrentWindow(); | 
					 | 
					 | 
					 | 
					    ImGuiContext& g = *GImGui; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ImGuiWindow* window = g.CurrentWindow; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // We intentionally allow interaction when clipped so that a mechanical Alt,Right,Validate sequence close a window.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // (this isn't the regular behavior of buttons, but it doesn't affect the user much because navigation tends to keep items visible).
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const ImRect bb(pos - ImVec2(radius,radius), pos + ImVec2(radius,radius)); | 
					 | 
					 | 
					 | 
					    const ImRect bb(pos - ImVec2(radius,radius), pos + ImVec2(radius,radius)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (!ItemAdd(bb, id)) // To allow navigation
 | 
					 | 
					 | 
					 | 
					    bool is_clipped = !ItemAdd(bb, id); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return false; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    bool hovered, held; | 
					 | 
					 | 
					 | 
					    bool hovered, held; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    bool pressed = ButtonBehavior(bb, id, &hovered, &held); | 
					 | 
					 | 
					 | 
					    bool pressed = ButtonBehavior(bb, id, &hovered, &held); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if (is_clipped) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        return pressed; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // Render
 | 
					 | 
					 | 
					 | 
					    // Render
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_CloseButtonActive : hovered ? ImGuiCol_CloseButtonHovered : ImGuiCol_CloseButton); | 
					 | 
					 | 
					 | 
					    const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_CloseButtonActive : hovered ? ImGuiCol_CloseButtonHovered : ImGuiCol_CloseButton); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -7587,7 +7591,6 @@ bool ImGui::CloseButton(ImGuiID id, const ImVec2& pos, float radius) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        window->DrawList->AddLine(center + ImVec2(+cross_extent,+cross_extent), center + ImVec2(-cross_extent,-cross_extent), GetColorU32(ImGuiCol_Text)); | 
					 | 
					 | 
					 | 
					        window->DrawList->AddLine(center + ImVec2(+cross_extent,+cross_extent), center + ImVec2(-cross_extent,-cross_extent), GetColorU32(ImGuiCol_Text)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        window->DrawList->AddLine(center + ImVec2(+cross_extent,-cross_extent), center + ImVec2(-cross_extent,+cross_extent), GetColorU32(ImGuiCol_Text)); | 
					 | 
					 | 
					 | 
					        window->DrawList->AddLine(center + ImVec2(+cross_extent,-cross_extent), center + ImVec2(-cross_extent,+cross_extent), GetColorU32(ImGuiCol_Text)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return pressed; | 
					 | 
					 | 
					 | 
					    return pressed; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |