mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	SliderScalar: Improved assert when using U32 or U64 types with a large v_max value. (#2765)
+ misc minor stuff.
This commit is contained in:
		| @@ -39,6 +39,7 @@ Other Changes: | |||||||
|   when enabled will have small overlap glitches with (style.Alpha < 1.0). |   when enabled will have small overlap glitches with (style.Alpha < 1.0). | ||||||
| - TabBar: fixed ScrollToBar request creating bouncing loop when tab is larger than available space. | - TabBar: fixed ScrollToBar request creating bouncing loop when tab is larger than available space. | ||||||
| - TabBar: fixed single-tab not shrinking their width down. | - TabBar: fixed single-tab not shrinking their width down. | ||||||
|  | - SliderScalar: Improved assert when using U32 or U64 types with a large v_max value. (#2765) [@loicmouton] | ||||||
| - ImDrawList: clarified the name of many parameters so reading the code is a little easier. (#2740) | - ImDrawList: clarified the name of many parameters so reading the code is a little easier. (#2740) | ||||||
| - Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. (#94) | - Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. (#94) | ||||||
| - Backends: DX11: Fixed GSGetShader() call not passing an initialized instance count, | - Backends: DX11: Fixed GSGetShader() call not passing an initialized instance count, | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -1789,7 +1789,7 @@ struct ImDrawCmd | |||||||
|     ImDrawCallback  UserCallback;           // If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally. |     ImDrawCallback  UserCallback;           // If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally. | ||||||
|     void*           UserCallbackData;       // The draw callback code can access this. |     void*           UserCallbackData;       // The draw callback code can access this. | ||||||
|  |  | ||||||
|     ImDrawCmd() { ElemCount = 0; ClipRect.x = ClipRect.y = ClipRect.z = ClipRect.w = 0.0f; TextureId = (ImTextureID)NULL; VtxOffset = IdxOffset = 0;  UserCallback = NULL; UserCallbackData = NULL; } |     ImDrawCmd() { ElemCount = 0; TextureId = (ImTextureID)NULL; VtxOffset = IdxOffset = 0;  UserCallback = NULL; UserCallbackData = NULL; } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // Vertex index  | // Vertex index  | ||||||
|   | |||||||
| @@ -2464,13 +2464,13 @@ bool ImGui::SliderBehavior(const ImRect& bb, ImGuiID id, ImGuiDataType data_type | |||||||
|         IM_ASSERT(*(const ImS32*)v_min >= IM_S32_MIN/2 && *(const ImS32*)v_max <= IM_S32_MAX/2); |         IM_ASSERT(*(const ImS32*)v_min >= IM_S32_MIN/2 && *(const ImS32*)v_max <= IM_S32_MAX/2); | ||||||
|         return SliderBehaviorT<ImS32, ImS32, float >(bb, id, data_type, (ImS32*)v,  *(const ImS32*)v_min,  *(const ImS32*)v_max,  format, power, flags, out_grab_bb); |         return SliderBehaviorT<ImS32, ImS32, float >(bb, id, data_type, (ImS32*)v,  *(const ImS32*)v_min,  *(const ImS32*)v_max,  format, power, flags, out_grab_bb); | ||||||
|     case ImGuiDataType_U32: |     case ImGuiDataType_U32: | ||||||
|         IM_ASSERT(*(const ImU32*)v_min <= IM_U32_MAX/2); |         IM_ASSERT(*(const ImU32*)v_max <= IM_U32_MAX/2); | ||||||
|         return SliderBehaviorT<ImU32, ImS32, float >(bb, id, data_type, (ImU32*)v,  *(const ImU32*)v_min,  *(const ImU32*)v_max,  format, power, flags, out_grab_bb); |         return SliderBehaviorT<ImU32, ImS32, float >(bb, id, data_type, (ImU32*)v,  *(const ImU32*)v_min,  *(const ImU32*)v_max,  format, power, flags, out_grab_bb); | ||||||
|     case ImGuiDataType_S64: |     case ImGuiDataType_S64: | ||||||
|         IM_ASSERT(*(const ImS64*)v_min >= IM_S64_MIN/2 && *(const ImS64*)v_max <= IM_S64_MAX/2); |         IM_ASSERT(*(const ImS64*)v_min >= IM_S64_MIN/2 && *(const ImS64*)v_max <= IM_S64_MAX/2); | ||||||
|         return SliderBehaviorT<ImS64, ImS64, double>(bb, id, data_type, (ImS64*)v,  *(const ImS64*)v_min,  *(const ImS64*)v_max,  format, power, flags, out_grab_bb); |         return SliderBehaviorT<ImS64, ImS64, double>(bb, id, data_type, (ImS64*)v,  *(const ImS64*)v_min,  *(const ImS64*)v_max,  format, power, flags, out_grab_bb); | ||||||
|     case ImGuiDataType_U64: |     case ImGuiDataType_U64: | ||||||
|         IM_ASSERT(*(const ImU64*)v_min <= IM_U64_MAX/2); |         IM_ASSERT(*(const ImU64*)v_max <= IM_U64_MAX/2); | ||||||
|         return SliderBehaviorT<ImU64, ImS64, double>(bb, id, data_type, (ImU64*)v,  *(const ImU64*)v_min,  *(const ImU64*)v_max,  format, power, flags, out_grab_bb); |         return SliderBehaviorT<ImU64, ImS64, double>(bb, id, data_type, (ImU64*)v,  *(const ImU64*)v_min,  *(const ImU64*)v_max,  format, power, flags, out_grab_bb); | ||||||
|     case ImGuiDataType_Float: |     case ImGuiDataType_Float: | ||||||
|         IM_ASSERT(*(const float*)v_min >= -FLT_MAX/2.0f && *(const float*)v_max <= FLT_MAX/2.0f); |         IM_ASSERT(*(const float*)v_min >= -FLT_MAX/2.0f && *(const float*)v_max <= FLT_MAX/2.0f); | ||||||
| @@ -3384,7 +3384,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ | |||||||
|         BeginGroup(); |         BeginGroup(); | ||||||
|     const ImGuiID id = window->GetID(label); |     const ImGuiID id = window->GetID(label); | ||||||
|     const ImVec2 label_size = CalcTextSize(label, NULL, true); |     const ImVec2 label_size = CalcTextSize(label, NULL, true); | ||||||
|     ImVec2 size = CalcItemSize(size_arg, CalcItemWidth(), (is_multiline ? GetTextLineHeight() * 8.0f : label_size.y) + style.FramePadding.y*2.0f); // Arbitrary default of 8 lines high for multi-line |     ImVec2 size = CalcItemSize(size_arg, CalcItemWidth(), (is_multiline ? g.FontSize * 8.0f : label_size.y) + style.FramePadding.y*2.0f); // Arbitrary default of 8 lines high for multi-line | ||||||
|     const ImRect frame_bb(window->DC.CursorPos, window->DC.CursorPos + size); |     const ImRect frame_bb(window->DC.CursorPos, window->DC.CursorPos + size); | ||||||
|     const ImRect total_bb(frame_bb.Min, frame_bb.Max + ImVec2(label_size.x > 0.0f ? (style.ItemInnerSpacing.x + label_size.x) : 0.0f, 0.0f)); |     const ImRect total_bb(frame_bb.Min, frame_bb.Max + ImVec2(label_size.x > 0.0f ? (style.ItemInnerSpacing.x + label_size.x) : 0.0f, 0.0f)); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user