mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00:00 
			
		
		
		
	Stop advertisting for Drag v_min>v_max which was introduced in 1.73 likely for 0537ac00 then made unnecessary with 32c33c66, added undocumented ImGuiItemFlags_ReadOnly as possible replacement (unused), (#211)
				
					
				
			This commit is contained in:
		
							
								
								
									
										1
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -464,7 +464,6 @@ namespace ImGui | ||||
|     // - Speed are per-pixel of mouse movement (v_speed=0.2f: mouse needs to move by 5 pixels to increase value by 1). For gamepad/keyboard navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision). | ||||
|     // - Use v_min < v_max to clamp edits to given limits. Note that CTRL+Click manual input can override those limits. | ||||
|     // - Use v_max = FLT_MAX / INT_MAX etc to avoid clamping to a maximum, same with v_min = -FLT_MAX / INT_MIN to avoid clamping to a minimum. | ||||
|     // - Use v_min > v_max to lock edits. | ||||
|     IMGUI_API bool          DragFloat(const char* label, float* v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", float power = 1.0f);     // If v_min >= v_max we have no bound | ||||
|     IMGUI_API bool          DragFloat2(const char* label, float v[2], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", float power = 1.0f); | ||||
|     IMGUI_API bool          DragFloat3(const char* label, float v[3], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", float power = 1.0f); | ||||
|   | ||||
| @@ -575,6 +575,7 @@ enum ImGuiItemFlags_ | ||||
|     ImGuiItemFlags_NoNavDefaultFocus        = 1 << 4,  // false | ||||
|     ImGuiItemFlags_SelectableDontClosePopup = 1 << 5,  // false    // MenuItem/Selectable() automatically closes current Popup window | ||||
|     ImGuiItemFlags_MixedValue               = 1 << 6,  // false    // [BETA] Represent a mixed/indeterminate value, generally multi-selection where values differ. Currently only supported by Checkbox() (later should support all sorts of widgets) | ||||
|     ImGuiItemFlags_ReadOnly                 = 1 << 7,  // false    // [ALPHA] Allow hovering interactions but underlying value is not changed. | ||||
|     ImGuiItemFlags_Default_                 = 0 | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -2113,6 +2113,8 @@ bool ImGui::DragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v | ||||
|     } | ||||
|     if (g.ActiveId != id) | ||||
|         return false; | ||||
|     if (g.CurrentWindow->DC.ItemFlags & ImGuiItemFlags_ReadOnly) | ||||
|         return false; | ||||
|  | ||||
|     switch (data_type) | ||||
|     { | ||||
| @@ -2558,6 +2560,10 @@ bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_typ | ||||
| // It would be possible to lift that limitation with some work but it doesn't seem to be worth it for sliders. | ||||
| bool ImGui::SliderBehavior(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, void* p_v, const void* p_min, const void* p_max, const char* format, float power, ImGuiSliderFlags flags, ImRect* out_grab_bb) | ||||
| { | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     if (g.CurrentWindow->DC.ItemFlags & ImGuiItemFlags_ReadOnly) | ||||
|         return false; | ||||
|  | ||||
|     switch (data_type) | ||||
|     { | ||||
|     case ImGuiDataType_S8:  { ImS32 v32 = (ImS32)*(ImS8*)p_v;  bool r = SliderBehaviorT<ImS32, ImS32, float>(bb, id, ImGuiDataType_S32, &v32, *(const ImS8*)p_min,  *(const ImS8*)p_max,  format, power, flags, out_grab_bb); if (r) *(ImS8*)p_v  = (ImS8)v32;  return r; } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 omar
					omar