mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Drags, Sliders: Added deadzone to make selecting 0.0 on linear sliders easier, slider navigation delta accumulation. (#3361, #1823, #1316, #642)
This commit is contained in:
		| @@ -1280,6 +1280,8 @@ struct ImGuiContext | ||||
|     float                   ColorEditLastSat;                   // Backup of last Saturation associated to LastColor[3], so we can restore Saturation in lossy RGB<>HSV round trips | ||||
|     float                   ColorEditLastColor[3]; | ||||
|     ImVec4                  ColorPickerRef;                     // Initial/reference color at the time of opening the color picker. | ||||
|     float                   SliderCurrentAccum;                 // Accumulated slider delta when using navigation controls. | ||||
|     bool                    SliderCurrentAccumDirty;            // Has the accumulated slider delta changed since last time we tried to apply it? | ||||
|     bool                    DragCurrentAccumDirty; | ||||
|     float                   DragCurrentAccum;                   // Accumulator for dragging modification. Always high-precision, not rounded by end-user precision settings | ||||
|     float                   DragSpeedDefaultRatio;              // If speed == 0.0f, uses (max-min) * DragSpeedDefaultRatio | ||||
| @@ -1433,6 +1435,8 @@ struct ImGuiContext | ||||
|         ColorEditOptions = ImGuiColorEditFlags__OptionsDefault; | ||||
|         ColorEditLastHue = ColorEditLastSat = 0.0f; | ||||
|         ColorEditLastColor[0] = ColorEditLastColor[1] = ColorEditLastColor[2] = FLT_MAX; | ||||
|         SliderCurrentAccum = 0.0f; | ||||
|         SliderCurrentAccumDirty = false; | ||||
|         DragCurrentAccumDirty = false; | ||||
|         DragCurrentAccum = 0.0f; | ||||
|         DragSpeedDefaultRatio = 1.0f / 100.0f; | ||||
| @@ -1991,8 +1995,8 @@ namespace ImGui | ||||
|     // e.g. " extern template IMGUI_API float RoundScalarWithFormatT<float, float>(const char* format, ImGuiDataType data_type, float v); " | ||||
|     template<typename T, typename SIGNED_T, typename FLOAT_T>   IMGUI_API bool  DragBehaviorT(ImGuiDataType data_type, T* v, float v_speed, T v_min, T v_max, const char* format, ImGuiDragFlags flags); | ||||
|     template<typename T, typename SIGNED_T, typename FLOAT_T>   IMGUI_API bool  SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, T* v, T v_min, T v_max, const char* format, ImGuiSliderFlags flags, ImRect* out_grab_bb); | ||||
|     template<typename T, typename FLOAT_T>                      IMGUI_API float SliderCalcRatioFromValueT(ImGuiDataType data_type, T v, T v_min, T v_max, float logarithmic_zero_epsilon, ImGuiSliderFlags flags); | ||||
|     template<typename T, typename FLOAT_T>                      IMGUI_API T     SliderCalcValueFromRatioT(ImGuiDataType data_type, float t, T v_min, T v_max, float logarithmic_zero_epsilon, ImGuiSliderFlags flags); | ||||
|     template<typename T, typename FLOAT_T>                      IMGUI_API float SliderCalcRatioFromValueT(ImGuiDataType data_type, T v, T v_min, T v_max, float logarithmic_zero_epsilon, float zero_deadzone_size, ImGuiSliderFlags flags); | ||||
|     template<typename T, typename FLOAT_T>                      IMGUI_API T     SliderCalcValueFromRatioT(ImGuiDataType data_type, float t, T v_min, T v_max, float logarithmic_zero_epsilon, float zero_deadzone_size, ImGuiSliderFlags flags); | ||||
|     template<typename T, typename SIGNED_T>                     IMGUI_API T     RoundScalarWithFormatT(const char* format, ImGuiDataType data_type, T v); | ||||
|  | ||||
|     // Data type helpers | ||||
|   | ||||
		Reference in New Issue
	
	Block a user