mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-23 04:17:00 +00:00
Added style.GrabSizeMin
This commit is contained in:
parent
849c72c5c3
commit
a5daea9408
10
imgui.cpp
10
imgui.cpp
@ -504,6 +504,7 @@ ImGuiStyle::ImGuiStyle()
|
|||||||
TreeNodeSpacing = 22.0f; // Horizontal spacing when entering a tree node
|
TreeNodeSpacing = 22.0f; // Horizontal spacing when entering a tree node
|
||||||
ColumnsMinSpacing = 6.0f; // Minimum horizontal spacing between two columns
|
ColumnsMinSpacing = 6.0f; // Minimum horizontal spacing between two columns
|
||||||
ScrollBarWidth = 16.0f; // Width of the vertical scroll bar
|
ScrollBarWidth = 16.0f; // Width of the vertical scroll bar
|
||||||
|
GrabMinSize = 10.0f; // Minimum width/height of a slider or scroll bar grab
|
||||||
|
|
||||||
Colors[ImGuiCol_Text] = ImVec4(0.90f, 0.90f, 0.90f, 1.00f);
|
Colors[ImGuiCol_Text] = ImVec4(0.90f, 0.90f, 0.90f, 1.00f);
|
||||||
Colors[ImGuiCol_WindowBg] = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
|
Colors[ImGuiCol_WindowBg] = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
|
||||||
@ -3025,7 +3026,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size, float bg
|
|||||||
const float scrollbar_height = scrollbar_bb.GetHeight();
|
const float scrollbar_height = scrollbar_bb.GetHeight();
|
||||||
|
|
||||||
const float grab_size_y_norm = ImSaturate(window->Size.y / ImMax(window->SizeContentsFit.y, window->Size.y));
|
const float grab_size_y_norm = ImSaturate(window->Size.y / ImMax(window->SizeContentsFit.y, window->Size.y));
|
||||||
const float grab_size_y_pixels = ImMax(10.0f, scrollbar_height * grab_size_y_norm);
|
const float grab_size_y_pixels = ImMax(style.GrabMinSize, scrollbar_height * grab_size_y_norm);
|
||||||
|
|
||||||
// Handle input right away (none of the code above is relying on scrolling position)
|
// Handle input right away (none of the code above is relying on scrolling position)
|
||||||
bool held = false;
|
bool held = false;
|
||||||
@ -4641,9 +4642,9 @@ bool ImGui::SliderFloat(const char* label, float* v, float v_min, float v_max, c
|
|||||||
const float grab_size_in_units = 1.0f; // In 'v' units. Probably needs to be parametrized, based on a 'v_step' value? decimal precision?
|
const float grab_size_in_units = 1.0f; // In 'v' units. Probably needs to be parametrized, based on a 'v_step' value? decimal precision?
|
||||||
float grab_size_in_pixels;
|
float grab_size_in_pixels;
|
||||||
if (decimal_precision > 0 || is_unbound)
|
if (decimal_precision > 0 || is_unbound)
|
||||||
grab_size_in_pixels = 10.0f;
|
grab_size_in_pixels = style.GrabMinSize;
|
||||||
else
|
else
|
||||||
grab_size_in_pixels = ImMax(grab_size_in_units * (w / (v_max-v_min+1.0f)), 10.0f); // Integer sliders
|
grab_size_in_pixels = ImMax(grab_size_in_units * (w / (v_max-v_min+1.0f)), style.GrabMinSize); // Integer sliders
|
||||||
const float slider_effective_w = slider_bb.GetWidth() - grab_size_in_pixels;
|
const float slider_effective_w = slider_bb.GetWidth() - grab_size_in_pixels;
|
||||||
const float slider_effective_x1 = slider_bb.Min.x + grab_size_in_pixels*0.5f;
|
const float slider_effective_x1 = slider_bb.Min.x + grab_size_in_pixels*0.5f;
|
||||||
const float slider_effective_x2 = slider_bb.Max.x - grab_size_in_pixels*0.5f;
|
const float slider_effective_x2 = slider_bb.Max.x - grab_size_in_pixels*0.5f;
|
||||||
@ -8339,7 +8340,8 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
ImGui::SliderFloat2("ItemInnerSpacing", (float*)&style.ItemInnerSpacing, 0.0f, 20.0f, "%.0f");
|
ImGui::SliderFloat2("ItemInnerSpacing", (float*)&style.ItemInnerSpacing, 0.0f, 20.0f, "%.0f");
|
||||||
ImGui::SliderFloat2("TouchExtraPadding", (float*)&style.TouchExtraPadding, 0.0f, 10.0f, "%.0f");
|
ImGui::SliderFloat2("TouchExtraPadding", (float*)&style.TouchExtraPadding, 0.0f, 10.0f, "%.0f");
|
||||||
ImGui::SliderFloat("TreeNodeSpacing", &style.TreeNodeSpacing, 0.0f, 20.0f, "%.0f");
|
ImGui::SliderFloat("TreeNodeSpacing", &style.TreeNodeSpacing, 0.0f, 20.0f, "%.0f");
|
||||||
ImGui::SliderFloat("ScrollBarWidth", &style.ScrollBarWidth, 0.0f, 20.0f, "%.0f");
|
ImGui::SliderFloat("ScrollBarWidth", &style.ScrollBarWidth, 1.0f, 20.0f, "%.0f");
|
||||||
|
ImGui::SliderFloat("GrabMinSize", &style.GrabMinSize, 1.0f, 20.0f, "%.0f");
|
||||||
ImGui::TreePop();
|
ImGui::TreePop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
imgui.h
1
imgui.h
@ -533,6 +533,7 @@ struct ImGuiStyle
|
|||||||
float TreeNodeSpacing; // Horizontal spacing when entering a tree node
|
float TreeNodeSpacing; // Horizontal spacing when entering a tree node
|
||||||
float ColumnsMinSpacing; // Minimum horizontal spacing between two columns
|
float ColumnsMinSpacing; // Minimum horizontal spacing between two columns
|
||||||
float ScrollBarWidth; // Width of the vertical scroll bar
|
float ScrollBarWidth; // Width of the vertical scroll bar
|
||||||
|
float GrabMinSize; // Minimum width/height of a slider or scroll bar grab
|
||||||
ImVec4 Colors[ImGuiCol_COUNT];
|
ImVec4 Colors[ImGuiCol_COUNT];
|
||||||
|
|
||||||
IMGUI_API ImGuiStyle();
|
IMGUI_API ImGuiStyle();
|
||||||
|
Loading…
Reference in New Issue
Block a user