mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 12:41:06 +01:00 
			
		
		
		
	Internals: Added GetSmallSquareSize()
This commit is contained in:
		
							
								
								
									
										18
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -8921,12 +8921,6 @@ bool ImGui::InputTextMultiline(const char* label, char* buf, size_t buf_size, co | |||||||
|     return InputTextEx(label, buf, (int)buf_size, size, flags | ImGuiInputTextFlags_Multiline, callback, user_data); |     return InputTextEx(label, buf, (int)buf_size, size, flags | ImGuiInputTextFlags_Multiline, callback, user_data); | ||||||
| } | } | ||||||
|  |  | ||||||
| static inline float SmallSquareSize() |  | ||||||
| { |  | ||||||
|     ImGuiContext& g = *GImGui; |  | ||||||
|     return g.FontSize + g.Style.FramePadding.y * 2.0f; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // NB: scalar_format here must be a simple "%xx" format string with no prefix/suffix (unlike the Drag/Slider functions "display_format" argument) | // NB: scalar_format here must be a simple "%xx" format string with no prefix/suffix (unlike the Drag/Slider functions "display_format" argument) | ||||||
| bool ImGui::InputScalarEx(const char* label, ImGuiDataType data_type, void* data_ptr, void* step_ptr, void* step_fast_ptr, const char* scalar_format, ImGuiInputTextFlags extra_flags) | bool ImGui::InputScalarEx(const char* label, ImGuiDataType data_type, void* data_ptr, void* step_ptr, void* step_fast_ptr, const char* scalar_format, ImGuiInputTextFlags extra_flags) | ||||||
| { | { | ||||||
| @@ -8940,7 +8934,7 @@ bool ImGui::InputScalarEx(const char* label, ImGuiDataType data_type, void* data | |||||||
|  |  | ||||||
|     BeginGroup(); |     BeginGroup(); | ||||||
|     PushID(label); |     PushID(label); | ||||||
|     const ImVec2 button_sz = ImVec2(SmallSquareSize(), SmallSquareSize()); |     const ImVec2 button_sz = ImVec2(GetSmallSquareSize(), GetSmallSquareSize()); | ||||||
|     if (step_ptr) |     if (step_ptr) | ||||||
|         PushItemWidth(ImMax(1.0f, CalcItemWidth() - (button_sz.x + style.ItemInnerSpacing.x)*2)); |         PushItemWidth(ImMax(1.0f, CalcItemWidth() - (button_sz.x + style.ItemInnerSpacing.x)*2)); | ||||||
|  |  | ||||||
| @@ -9119,7 +9113,7 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImGuiComboF | |||||||
|     bool pressed = ButtonBehavior(frame_bb, id, &hovered, &held); |     bool pressed = ButtonBehavior(frame_bb, id, &hovered, &held); | ||||||
|     bool popup_open = IsPopupOpen(id); |     bool popup_open = IsPopupOpen(id); | ||||||
|  |  | ||||||
|     const float arrow_size = SmallSquareSize(); |     const float arrow_size = GetSmallSquareSize(); | ||||||
|     const ImRect value_bb(frame_bb.Min, frame_bb.Max - ImVec2(arrow_size, 0.0f)); |     const ImRect value_bb(frame_bb.Min, frame_bb.Max - ImVec2(arrow_size, 0.0f)); | ||||||
|     RenderFrame(frame_bb.Min, frame_bb.Max, GetColorU32(ImGuiCol_FrameBg), true, style.FrameRounding); |     RenderFrame(frame_bb.Min, frame_bb.Max, GetColorU32(ImGuiCol_FrameBg), true, style.FrameRounding); | ||||||
|     RenderFrame(ImVec2(frame_bb.Max.x-arrow_size, frame_bb.Min.y), frame_bb.Max, GetColorU32(popup_open || hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button), true, style.FrameRounding); // FIXME-ROUNDING |     RenderFrame(ImVec2(frame_bb.Max.x-arrow_size, frame_bb.Min.y), frame_bb.Max, GetColorU32(popup_open || hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button), true, style.FrameRounding); // FIXME-ROUNDING | ||||||
| @@ -9804,7 +9798,7 @@ bool ImGui::ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFl | |||||||
|  |  | ||||||
|     ImGuiContext& g = *GImGui; |     ImGuiContext& g = *GImGui; | ||||||
|     const ImGuiID id = window->GetID(desc_id); |     const ImGuiID id = window->GetID(desc_id); | ||||||
|     float default_size = SmallSquareSize(); |     float default_size = GetSmallSquareSize(); | ||||||
|     if (size.x == 0.0f) |     if (size.x == 0.0f) | ||||||
|         size.x = default_size; |         size.x = default_size; | ||||||
|     if (size.y == 0.0f) |     if (size.y == 0.0f) | ||||||
| @@ -9914,7 +9908,7 @@ static void ColorPickerOptionsPopup(ImGuiColorEditFlags flags, const float* ref_ | |||||||
|     ImGuiContext& g = *GImGui; |     ImGuiContext& g = *GImGui; | ||||||
|     if (allow_opt_picker) |     if (allow_opt_picker) | ||||||
|     { |     { | ||||||
|         ImVec2 picker_size(g.FontSize * 8, ImMax(g.FontSize * 8 - (SmallSquareSize() + g.Style.ItemInnerSpacing.x), 1.0f)); // FIXME: Picker size copied from main picker function |         ImVec2 picker_size(g.FontSize * 8, ImMax(g.FontSize * 8 - (ImGui::GetSmallSquareSize() + g.Style.ItemInnerSpacing.x), 1.0f)); // FIXME: Picker size copied from main picker function | ||||||
|         ImGui::PushItemWidth(picker_size.x); |         ImGui::PushItemWidth(picker_size.x); | ||||||
|         for (int picker_type = 0; picker_type < 2; picker_type++) |         for (int picker_type = 0; picker_type < 2; picker_type++) | ||||||
|         { |         { | ||||||
| @@ -9954,7 +9948,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag | |||||||
|  |  | ||||||
|     ImGuiContext& g = *GImGui; |     ImGuiContext& g = *GImGui; | ||||||
|     const ImGuiStyle& style = g.Style; |     const ImGuiStyle& style = g.Style; | ||||||
|     const float square_sz = SmallSquareSize(); |     const float square_sz = GetSmallSquareSize(); | ||||||
|     const float w_extra = (flags & ImGuiColorEditFlags_NoSmallPreview) ? 0.0f : (square_sz + style.ItemInnerSpacing.x); |     const float w_extra = (flags & ImGuiColorEditFlags_NoSmallPreview) ? 0.0f : (square_sz + style.ItemInnerSpacing.x); | ||||||
|     const float w_items_all = CalcItemWidth() - w_extra; |     const float w_items_all = CalcItemWidth() - w_extra; | ||||||
|     const char* label_display_end = FindRenderedTextEnd(label); |     const char* label_display_end = FindRenderedTextEnd(label); | ||||||
| @@ -10192,7 +10186,7 @@ bool ImGui::ColorPicker4(const char* label, float col[4], ImGuiColorEditFlags fl | |||||||
|     int components = (flags & ImGuiColorEditFlags_NoAlpha) ? 3 : 4; |     int components = (flags & ImGuiColorEditFlags_NoAlpha) ? 3 : 4; | ||||||
|     bool alpha_bar = (flags & ImGuiColorEditFlags_AlphaBar) && !(flags & ImGuiColorEditFlags_NoAlpha); |     bool alpha_bar = (flags & ImGuiColorEditFlags_AlphaBar) && !(flags & ImGuiColorEditFlags_NoAlpha); | ||||||
|     ImVec2 picker_pos = window->DC.CursorPos; |     ImVec2 picker_pos = window->DC.CursorPos; | ||||||
|     float square_sz = SmallSquareSize(); |     float square_sz = GetSmallSquareSize(); | ||||||
|     float bars_width = square_sz; // Arbitrary smallish width of Hue/Alpha picking bars |     float bars_width = square_sz; // Arbitrary smallish width of Hue/Alpha picking bars | ||||||
|     float sv_picker_size = ImMax(bars_width * 1, CalcItemWidth() - (alpha_bar ? 2 : 1) * (bars_width + style.ItemInnerSpacing.x)); // Saturation/Value picking box |     float sv_picker_size = ImMax(bars_width * 1, CalcItemWidth() - (alpha_bar ? 2 : 1) * (bars_width + style.ItemInnerSpacing.x)); // Saturation/Value picking box | ||||||
|     float bar0_pos_x = picker_pos.x + sv_picker_size + style.ItemInnerSpacing.x; |     float bar0_pos_x = picker_pos.x + sv_picker_size + style.ItemInnerSpacing.x; | ||||||
|   | |||||||
| @@ -829,6 +829,8 @@ namespace ImGui | |||||||
|     IMGUI_API void          PushItemFlag(ImGuiItemFlags option, bool enabled); |     IMGUI_API void          PushItemFlag(ImGuiItemFlags option, bool enabled); | ||||||
|     IMGUI_API void          PopItemFlag(); |     IMGUI_API void          PopItemFlag(); | ||||||
|  |  | ||||||
|  |     inline float            GetSmallSquareSize() { ImGuiContext& g = *GImGui; return g.FontSize + g.Style.FramePadding.y * 2.0f; } | ||||||
|  |  | ||||||
|     IMGUI_API void          OpenPopupEx(ImGuiID id, bool reopen_existing); |     IMGUI_API void          OpenPopupEx(ImGuiID id, bool reopen_existing); | ||||||
|     IMGUI_API void          ClosePopup(ImGuiID id); |     IMGUI_API void          ClosePopup(ImGuiID id); | ||||||
|     IMGUI_API bool          IsPopupOpen(ImGuiID id); |     IMGUI_API bool          IsPopupOpen(ImGuiID id); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user