@ -1920,7 +1920,18 @@ static bool NavScoreItem(ImRect cand) 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    const  ImRect &  curr  =  g . NavScoringRectScreen ;  // Current modified source rect (NB: we've applied Max.x = Min.x in NavUpdate() to inhibit the effect of having lots of items with varied width)
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    window - > ClipRect . Clip ( cand ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // We perform scoring on items bounding box clipped by their parent window on the other axis (clipping on our movement axis would give us equal scores for all clipped items)
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( g . NavMoveDir  = =  ImGuiNavDir_Left  | |  g . NavMoveDir  = =  ImGuiNavDir_Right )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        cand . Min . y  =  ImClamp ( cand . Min . y ,  window - > ClipRect . Min . y ,  window - > ClipRect . Max . y ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        cand . Max . y  =  ImClamp ( cand . Max . y ,  window - > ClipRect . Min . y ,  window - > ClipRect . Max . y ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    else   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        cand . Min . x  =  ImClamp ( cand . Min . x ,  window - > ClipRect . Min . x ,  window - > ClipRect . Max . x ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        cand . Max . x  =  ImClamp ( cand . Max . x ,  window - > ClipRect . Min . x ,  window - > ClipRect . Max . x ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Compute distance between boxes
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // FIXME-NAVIGATION: Introducing various biases toward typical imgui uses cases, but we don't have any rigorous proof of their effect now.
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -6168,7 +6179,7 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            // Set active id so it can be queried by user via IsItemActive(), etc. but don't react to it ourselves
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            g . NavActivateId  =  g . NavId ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            SetActiveID ( g . NavId ,  window ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            g . ActiveIdAllowNavDirFlags  =  ( 1 < < ImGuiNavDir_Left )  |  ( 1 < < ImGuiNavDir_Right )  |  ( 1 < < ImGuiNavDir_Up )  |  ( 1 < < ImGuiNavDir_Down ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            g . ActiveIdAllowNavDirFlags  =  ( 1   < <   ImGuiNavDir_Left )  |  ( 1   < <   ImGuiNavDir_Right )  |  ( 1   < <   ImGuiNavDir_Up )  |  ( 1   < <   ImGuiNavDir_Down ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( IsKeyPressedMap ( ImGuiKey_NavActivate ,  ( flags  &  ImGuiButtonFlags_Repeat )  ! =  0 ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                pressed  =  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }