| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2772,14 +2772,14 @@ bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_typ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const ImGuiAxis axis = (flags & ImGuiSliderFlags_Vertical) ? ImGuiAxis_Y : ImGuiAxis_X; | 
					 | 
					 | 
					 | 
					    const ImGuiAxis axis = (flags & ImGuiSliderFlags_Vertical) ? ImGuiAxis_Y : ImGuiAxis_X; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const bool is_logarithmic = (flags & ImGuiSliderFlags_Logarithmic) != 0; | 
					 | 
					 | 
					 | 
					    const bool is_logarithmic = (flags & ImGuiSliderFlags_Logarithmic) != 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const bool is_floating_point = (data_type == ImGuiDataType_Float) || (data_type == ImGuiDataType_Double); | 
					 | 
					 | 
					 | 
					    const bool is_floating_point = (data_type == ImGuiDataType_Float) || (data_type == ImGuiDataType_Double); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const SIGNEDTYPE v_range = (v_min < v_max ? v_max - v_min : v_min - v_max); | 
					 | 
					 | 
					 | 
					    const float v_range_f = (float)(v_min < v_max ? v_max - v_min : v_min - v_max); // We don't need high precision for what we do with it.
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // Calculate bounds
 | 
					 | 
					 | 
					 | 
					    // Calculate bounds
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const float grab_padding = 2.0f; // FIXME: Should be part of style.
 | 
					 | 
					 | 
					 | 
					    const float grab_padding = 2.0f; // FIXME: Should be part of style.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const float slider_sz = (bb.Max[axis] - bb.Min[axis]) - grab_padding * 2.0f; | 
					 | 
					 | 
					 | 
					    const float slider_sz = (bb.Max[axis] - bb.Min[axis]) - grab_padding * 2.0f; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    float grab_sz = style.GrabMinSize; | 
					 | 
					 | 
					 | 
					    float grab_sz = style.GrabMinSize; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (!is_floating_point && v_range >= 0)                                     // v_range < 0 may happen on integer overflows
 | 
					 | 
					 | 
					 | 
					    if (!is_floating_point && v_range_f >= 0.0f)                         // v_range_f < 0 may happen on integer overflows
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        grab_sz = ImMax((float)(slider_sz / (v_range + 1)), style.GrabMinSize); // For integer sliders: if possible have the grab size represent 1 unit
 | 
					 | 
					 | 
					 | 
					        grab_sz = ImMax(slider_sz / (v_range_f + 1), style.GrabMinSize); // For integer sliders: if possible have the grab size represent 1 unit
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    grab_sz = ImMin(grab_sz, slider_sz); | 
					 | 
					 | 
					 | 
					    grab_sz = ImMin(grab_sz, slider_sz); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const float slider_usable_sz = slider_sz - grab_sz; | 
					 | 
					 | 
					 | 
					    const float slider_usable_sz = slider_sz - grab_sz; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const float slider_usable_pos_min = bb.Min[axis] + grab_padding + grab_sz * 0.5f; | 
					 | 
					 | 
					 | 
					    const float slider_usable_pos_min = bb.Min[axis] + grab_padding + grab_sz * 0.5f; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -2848,8 +2848,8 @@ bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_typ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                else | 
					 | 
					 | 
					 | 
					                else | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                { | 
					 | 
					 | 
					 | 
					                { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    if ((v_range >= -100.0f && v_range <= 100.0f) || tweak_slow) | 
					 | 
					 | 
					 | 
					                    if ((v_range_f >= -100.0f && v_range_f <= 100.0f && v_range_f != 0.0f) || tweak_slow) | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        input_delta = ((input_delta < 0.0f) ? -1.0f : +1.0f) / (float)v_range; // Gamepad/keyboard tweak speeds in integer steps
 | 
					 | 
					 | 
					 | 
					                        input_delta = ((input_delta < 0.0f) ? -1.0f : +1.0f) / v_range_f; // Gamepad/keyboard tweak speeds in integer steps
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    else | 
					 | 
					 | 
					 | 
					                    else | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        input_delta /= 100.0f; | 
					 | 
					 | 
					 | 
					                        input_delta /= 100.0f; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |