@ -2149,7 +2149,7 @@ static bool NavScoreItem(ImRect cand) 
			
		
	
		
			
				
					    // FIXME-NAVIGATION: Introducing biases for vertical navigation, needs to be removed.
   
			
		
	
		
			
				
					    float  dbx  =  NavScoreItemDistInterval ( cand . Min . x ,  cand . Max . x ,  curr . Min . x ,  curr . Max . x ) ;   
			
		
	
		
			
				
					    float  dby  =  NavScoreItemDistInterval ( ImLerp ( cand . Min . y ,  cand . Max . y ,  0.2f ) ,  ImLerp ( cand . Min . y ,  cand . Max . y ,  0.8f ) ,  ImLerp ( curr . Min . y ,  curr . Max . y ,  0.2f ) ,  ImLerp ( curr . Min . y ,  curr . Max . y ,  0.8f ) ) ;  // Scale down on Y to keep using box-distance for vertically touching items
   
			
		
	
		
			
				
					    if  ( dby  & &  dbx )   
			
		
	
		
			
				
					    if  ( dby  ! =  0.0f  & &  dbx  ! =  0.0f  )   
			
		
	
		
			
				
					       dbx  =  ( dbx / 1000.0f )  +  ( ( dbx  >  0.0f )  ?  + 1.0f  :  - 1.0f ) ;   
			
		
	
		
			
				
					    float  dist_box  =  fabsf ( dbx )  +  fabsf ( dby ) ;   
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -2161,7 +2161,7 @@ static bool NavScoreItem(ImRect cand) 
			
		
	
		
			
				
					    // Determine which quadrant of 'curr' our candidate item 'cand' lies in based on distance
   
			
		
	
		
			
				
					    ImGuiDir  quadrant ;   
			
		
	
		
			
				
					    float  dax  =  0.0f ,  day  =  0.0f ,  dist_axial  =  0.0f ;   
			
		
	
		
			
				
					    if  ( dbx  | |  dby )  
  
			
		
	
		
			
				
					    if  ( dbx  ! =  0.0f  | |  dby  ! =  0.0f  )  
  
			
		
	
		
			
				
					    {  
  
			
		
	
		
			
				
					        // For non-overlapping boxes, use distance between boxes
   
			
		
	
		
			
				
					        dax  =  dbx ;   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -2169,7 +2169,7 @@ static bool NavScoreItem(ImRect cand) 
			
		
	
		
			
				
					        dist_axial  =  dist_box ;   
			
		
	
		
			
				
					        quadrant  =  NavScoreItemGetQuadrant ( dbx ,  dby ) ;   
			
		
	
		
			
				
					    }  
  
			
		
	
		
			
				
					    else  if  ( dcx  | |  dcy )  
  
			
		
	
		
			
				
					    else  if  ( dcx  ! =  0.0f  | |  dcy  ! =  0.0f  )  
  
			
		
	
		
			
				
					    {  
  
			
		
	
		
			
				
					        // For overlapping boxes with different centers, use distance between centers
   
			
		
	
		
			
				
					        dax  =  dcx ;   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -2232,7 +2232,10 @@ static bool NavScoreItem(ImRect cand) 
			
		
	
		
			
				
					    if  ( g . NavMoveResultDistBox  = =  FLT_MAX  & &  dist_axial  <  g . NavMoveResultDistAxial )   // Check axial match
   
			
		
	
		
			
				
					        if  ( g . NavLayer  = =  1  & &  ! ( g . NavWindow - > Flags  &  ImGuiWindowFlags_ChildMenu ) )   
			
		
	
		
			
				
					            if  ( ( g . NavMoveDir  = =  ImGuiDir_Left  & &  dax  <  0.0f )  | |  ( g . NavMoveDir  = =  ImGuiDir_Right  & &  dax  >  0.0f )  | |  ( g . NavMoveDir  = =  ImGuiDir_Up  & &  day  <  0.0f )  | |  ( g . NavMoveDir  = =  ImGuiDir_Down  & &  day  >  0.0f ) )   
			
		
	
		
			
				
					                g . NavMoveResultDistAxial  =  dist_axial ,  new_best  =  true ;   
			
		
	
		
			
				
					            {   
			
		
	
		
			
				
					                g . NavMoveResultDistAxial  =  dist_axial ;   
			
		
	
		
			
				
					                new_best  =  true ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    return  new_best ;   
			
		
	
		
			
				
					}  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -8329,7 +8332,8 @@ bool ImGui::SliderBehavior(const ImRect& frame_bb, ImGuiID id, float* v, float v 
			
		
	
		
			
				
					        else  if  ( g . ActiveIdSource  = =  ImGuiInputSource_Nav  & &  g . NavActivateDownId  = =  id )   
			
		
	
		
			
				
					        {   
			
		
	
		
			
				
					            const  ImVec2  delta2  =  GetNavInputAmount2d ( 0 ,  ImGuiNavReadMode_RepeatFast ,  0.0f ,  0.0f ) ;   
			
		
	
		
			
				
					            if  ( float  delta  =  is_horizontal  ?  delta2 . x  :  - delta2 . y )   
			
		
	
		
			
				
					            float  delta  =  is_horizontal  ?  delta2 . x  :  - delta2 . y ;   
			
		
	
		
			
				
					            if  ( delta  ! =  0.0f )   
			
		
	
		
			
				
					            {   
			
		
	
		
			
				
					                clicked_t  =  SliderBehaviorCalcRatioFromValue ( * v ,  v_min ,  v_max ,  power ,  linear_zero_pos ) ;   
			
		
	
		
			
				
					                if  ( decimal_precision  = =  0  & &  ! is_non_linear )