Style: border sizes are now scaled and rounded by ScaleAllSizes(). Lift 1.0f limit in Style Editor.
This commit is contained in:
@@ -43,6 +43,7 @@ Breaking Changes:
|
|||||||
|
|
||||||
Other Changes:
|
Other Changes:
|
||||||
|
|
||||||
|
- Style: border sizes are now scaled (and rounded) by ScaleAllSizes().
|
||||||
- Clipper: clear DisplayStart/DisplayEnd fields when Step() returns false.
|
- Clipper: clear DisplayStart/DisplayEnd fields when Step() returns false.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1529,11 +1529,15 @@ void ImGuiStyle::ScaleAllSizes(float scale_factor)
|
|||||||
_MainScale *= scale_factor;
|
_MainScale *= scale_factor;
|
||||||
WindowPadding = ImTrunc(WindowPadding * scale_factor);
|
WindowPadding = ImTrunc(WindowPadding * scale_factor);
|
||||||
WindowRounding = ImTrunc(WindowRounding * scale_factor);
|
WindowRounding = ImTrunc(WindowRounding * scale_factor);
|
||||||
|
WindowBorderSize = ImTrunc(WindowBorderSize * scale_factor);
|
||||||
WindowMinSize = ImTrunc(WindowMinSize * scale_factor);
|
WindowMinSize = ImTrunc(WindowMinSize * scale_factor);
|
||||||
WindowBorderHoverPadding = ImTrunc(WindowBorderHoverPadding * scale_factor);
|
WindowBorderHoverPadding = ImTrunc(WindowBorderHoverPadding * scale_factor);
|
||||||
ChildRounding = ImTrunc(ChildRounding * scale_factor);
|
ChildRounding = ImTrunc(ChildRounding * scale_factor);
|
||||||
|
ChildBorderSize = ImTrunc(ChildBorderSize * scale_factor);
|
||||||
PopupRounding = ImTrunc(PopupRounding * scale_factor);
|
PopupRounding = ImTrunc(PopupRounding * scale_factor);
|
||||||
|
PopupBorderSize = ImTrunc(PopupBorderSize * scale_factor);
|
||||||
FramePadding = ImTrunc(FramePadding * scale_factor);
|
FramePadding = ImTrunc(FramePadding * scale_factor);
|
||||||
|
FrameBorderSize = ImTrunc(FrameBorderSize * scale_factor);
|
||||||
FrameRounding = ImTrunc(FrameRounding * scale_factor);
|
FrameRounding = ImTrunc(FrameRounding * scale_factor);
|
||||||
ItemSpacing = ImTrunc(ItemSpacing * scale_factor);
|
ItemSpacing = ImTrunc(ItemSpacing * scale_factor);
|
||||||
ItemInnerSpacing = ImTrunc(ItemInnerSpacing * scale_factor);
|
ItemInnerSpacing = ImTrunc(ItemInnerSpacing * scale_factor);
|
||||||
@@ -1550,17 +1554,21 @@ void ImGuiStyle::ScaleAllSizes(float scale_factor)
|
|||||||
ImageRounding = ImTrunc(ImageRounding * scale_factor);
|
ImageRounding = ImTrunc(ImageRounding * scale_factor);
|
||||||
ImageBorderSize = ImTrunc(ImageBorderSize * scale_factor);
|
ImageBorderSize = ImTrunc(ImageBorderSize * scale_factor);
|
||||||
TabRounding = ImTrunc(TabRounding * scale_factor);
|
TabRounding = ImTrunc(TabRounding * scale_factor);
|
||||||
|
TabBorderSize = ImTrunc(TabBorderSize * scale_factor);
|
||||||
TabMinWidthBase = ImTrunc(TabMinWidthBase * scale_factor);
|
TabMinWidthBase = ImTrunc(TabMinWidthBase * scale_factor);
|
||||||
TabMinWidthShrink = ImTrunc(TabMinWidthShrink * scale_factor);
|
TabMinWidthShrink = ImTrunc(TabMinWidthShrink * scale_factor);
|
||||||
TabCloseButtonMinWidthSelected = (TabCloseButtonMinWidthSelected > 0.0f && TabCloseButtonMinWidthSelected != FLT_MAX) ? ImTrunc(TabCloseButtonMinWidthSelected * scale_factor) : TabCloseButtonMinWidthSelected;
|
TabCloseButtonMinWidthSelected = (TabCloseButtonMinWidthSelected > 0.0f && TabCloseButtonMinWidthSelected != FLT_MAX) ? ImTrunc(TabCloseButtonMinWidthSelected * scale_factor) : TabCloseButtonMinWidthSelected;
|
||||||
TabCloseButtonMinWidthUnselected = (TabCloseButtonMinWidthUnselected > 0.0f && TabCloseButtonMinWidthUnselected != FLT_MAX) ? ImTrunc(TabCloseButtonMinWidthUnselected * scale_factor) : TabCloseButtonMinWidthUnselected;
|
TabCloseButtonMinWidthUnselected = (TabCloseButtonMinWidthUnselected > 0.0f && TabCloseButtonMinWidthUnselected != FLT_MAX) ? ImTrunc(TabCloseButtonMinWidthUnselected * scale_factor) : TabCloseButtonMinWidthUnselected;
|
||||||
|
TabBarBorderSize = ImTrunc(TabBarBorderSize * scale_factor);
|
||||||
TabBarOverlineSize = ImTrunc(TabBarOverlineSize * scale_factor);
|
TabBarOverlineSize = ImTrunc(TabBarOverlineSize * scale_factor);
|
||||||
|
TreeLinesSize = ImTrunc(TreeLinesSize * scale_factor);
|
||||||
TreeLinesRounding = ImTrunc(TreeLinesRounding * scale_factor);
|
TreeLinesRounding = ImTrunc(TreeLinesRounding * scale_factor);
|
||||||
DragDropTargetRounding = ImTrunc(DragDropTargetRounding * scale_factor);
|
DragDropTargetRounding = ImTrunc(DragDropTargetRounding * scale_factor);
|
||||||
DragDropTargetBorderSize = ImTrunc(DragDropTargetBorderSize * scale_factor);
|
DragDropTargetBorderSize = ImTrunc(DragDropTargetBorderSize * scale_factor);
|
||||||
DragDropTargetPadding = ImTrunc(DragDropTargetPadding * scale_factor);
|
DragDropTargetPadding = ImTrunc(DragDropTargetPadding * scale_factor);
|
||||||
ColorMarkerSize = ImTrunc(ColorMarkerSize * scale_factor);
|
ColorMarkerSize = ImTrunc(ColorMarkerSize * scale_factor);
|
||||||
SeparatorTextPadding = ImTrunc(SeparatorTextPadding * scale_factor);
|
SeparatorTextPadding = ImTrunc(SeparatorTextPadding * scale_factor);
|
||||||
|
SeparatorTextBorderSize = ImTrunc(SeparatorTextBorderSize * scale_factor);
|
||||||
DisplayWindowPadding = ImTrunc(DisplayWindowPadding * scale_factor);
|
DisplayWindowPadding = ImTrunc(DisplayWindowPadding * scale_factor);
|
||||||
DisplaySafeAreaPadding = ImTrunc(DisplaySafeAreaPadding * scale_factor);
|
DisplaySafeAreaPadding = ImTrunc(DisplaySafeAreaPadding * scale_factor);
|
||||||
MouseCursorScale = ImTrunc(MouseCursorScale * scale_factor);
|
MouseCursorScale = ImTrunc(MouseCursorScale * scale_factor);
|
||||||
|
|||||||
@@ -2354,7 +2354,7 @@ struct ImGuiStyle
|
|||||||
ImGuiHoveredFlags HoverFlagsForTooltipNav; // Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using keyboard/gamepad.
|
ImGuiHoveredFlags HoverFlagsForTooltipNav; // Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using keyboard/gamepad.
|
||||||
|
|
||||||
// [Internal]
|
// [Internal]
|
||||||
float _MainScale; // FIXME-WIP: Reference scale, as applied by ScaleAllSizes().
|
float _MainScale; // FIXME-WIP: Reference scale, as applied by ScaleAllSizes(). PLEASE DO NOT USE THIS FOR NOW.
|
||||||
float _NextFrameFontSizeBase; // FIXME: Temporary hack until we finish remaining work.
|
float _NextFrameFontSizeBase; // FIXME: Temporary hack until we finish remaining work.
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
|||||||
+17
-12
@@ -8369,6 +8369,11 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
if (ref == NULL)
|
if (ref == NULL)
|
||||||
ref = &ref_saved_style;
|
ref = &ref_saved_style;
|
||||||
|
|
||||||
|
// The logic behind dynamically changing 'max_border_size' is to not encourage people to increase border size too much: it'll likely reveal lots of subtle rendering artifacts and this isn't a priority right now.
|
||||||
|
// Note that _MainScale is currently internal PLEASE DO NOT USE IN YOUR CODE.
|
||||||
|
const float default_border_size = (float)(int)style._MainScale;
|
||||||
|
const float max_border_size = IM_MAX(default_border_size, 2.0f);
|
||||||
|
|
||||||
PushItemWidth(GetWindowWidth() * 0.50f);
|
PushItemWidth(GetWindowWidth() * 0.50f);
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -8397,11 +8402,11 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
// Simplified Settings (expose floating-pointer border sizes as boolean representing 0.0f or 1.0f)
|
// Simplified Settings (expose floating-pointer border sizes as boolean representing 0.0f or 1.0f)
|
||||||
if (SliderFloat("FrameRounding", &style.FrameRounding, 0.0f, 12.0f, "%.0f"))
|
if (SliderFloat("FrameRounding", &style.FrameRounding, 0.0f, 12.0f, "%.0f"))
|
||||||
style.GrabRounding = style.FrameRounding; // Make GrabRounding always the same value as FrameRounding
|
style.GrabRounding = style.FrameRounding; // Make GrabRounding always the same value as FrameRounding
|
||||||
{ bool border = (style.WindowBorderSize > 0.0f); if (Checkbox("WindowBorder", &border)) { style.WindowBorderSize = border ? 1.0f : 0.0f; } }
|
{ bool border = (style.WindowBorderSize > 0.0f); if (Checkbox("WindowBorder", &border)) { style.WindowBorderSize = border ? default_border_size : 0.0f; } }
|
||||||
SameLine();
|
SameLine();
|
||||||
{ bool border = (style.FrameBorderSize > 0.0f); if (Checkbox("FrameBorder", &border)) { style.FrameBorderSize = border ? 1.0f : 0.0f; } }
|
{ bool border = (style.FrameBorderSize > 0.0f); if (Checkbox("FrameBorder", &border)) { style.FrameBorderSize = border ? default_border_size : 0.0f; } }
|
||||||
SameLine();
|
SameLine();
|
||||||
{ bool border = (style.PopupBorderSize > 0.0f); if (Checkbox("PopupBorder", &border)) { style.PopupBorderSize = border ? 1.0f : 0.0f; } }
|
{ bool border = (style.PopupBorderSize > 0.0f); if (Checkbox("PopupBorder", &border)) { style.PopupBorderSize = border ? default_border_size : 0.0f; } }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save/Revert button
|
// Save/Revert button
|
||||||
@@ -8430,10 +8435,10 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
SliderFloat("GrabMinSize", &style.GrabMinSize, 1.0f, 20.0f, "%.0f");
|
SliderFloat("GrabMinSize", &style.GrabMinSize, 1.0f, 20.0f, "%.0f");
|
||||||
|
|
||||||
SeparatorText("Borders");
|
SeparatorText("Borders");
|
||||||
SliderFloat("WindowBorderSize", &style.WindowBorderSize, 0.0f, 1.0f, "%.0f");
|
SliderFloat("WindowBorderSize", &style.WindowBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
SliderFloat("ChildBorderSize", &style.ChildBorderSize, 0.0f, 1.0f, "%.0f");
|
SliderFloat("ChildBorderSize", &style.ChildBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
SliderFloat("PopupBorderSize", &style.PopupBorderSize, 0.0f, 1.0f, "%.0f");
|
SliderFloat("PopupBorderSize", &style.PopupBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
SliderFloat("FrameBorderSize", &style.FrameBorderSize, 0.0f, 1.0f, "%.0f");
|
SliderFloat("FrameBorderSize", &style.FrameBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
|
|
||||||
SeparatorText("Rounding");
|
SeparatorText("Rounding");
|
||||||
SliderFloat("WindowRounding", &style.WindowRounding, 0.0f, 12.0f, "%.0f");
|
SliderFloat("WindowRounding", &style.WindowRounding, 0.0f, 12.0f, "%.0f");
|
||||||
@@ -8448,9 +8453,9 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
SliderFloat("ScrollbarPadding", &style.ScrollbarPadding, 0.0f, 10.0f, "%.0f");
|
SliderFloat("ScrollbarPadding", &style.ScrollbarPadding, 0.0f, 10.0f, "%.0f");
|
||||||
|
|
||||||
SeparatorText("Tabs");
|
SeparatorText("Tabs");
|
||||||
SliderFloat("TabBorderSize", &style.TabBorderSize, 0.0f, 1.0f, "%.0f");
|
SliderFloat("TabBorderSize", &style.TabBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
SliderFloat("TabBarBorderSize", &style.TabBarBorderSize, 0.0f, 2.0f, "%.0f");
|
SliderFloat("TabBarBorderSize", &style.TabBarBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
SliderFloat("TabBarOverlineSize", &style.TabBarOverlineSize, 0.0f, 3.0f, "%.0f");
|
SliderFloat("TabBarOverlineSize", &style.TabBarOverlineSize, 0.0f, IM_MAX(3.0f, max_border_size), "%.0f");
|
||||||
SameLine(); HelpMarker("Overline is only drawn over the selected tab when ImGuiTabBarFlags_DrawSelectedOverline is set.");
|
SameLine(); HelpMarker("Overline is only drawn over the selected tab when ImGuiTabBarFlags_DrawSelectedOverline is set.");
|
||||||
DragFloat("TabMinWidthBase", &style.TabMinWidthBase, 0.5f, 1.0f, 500.0f, "%.0f");
|
DragFloat("TabMinWidthBase", &style.TabMinWidthBase, 0.5f, 1.0f, 500.0f, "%.0f");
|
||||||
DragFloat("TabMinWidthShrink", &style.TabMinWidthShrink, 0.5f, 1.0f, 500.0f, "%0.f");
|
DragFloat("TabMinWidthShrink", &style.TabMinWidthShrink, 0.5f, 1.0f, 500.0f, "%0.f");
|
||||||
@@ -8475,7 +8480,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
style.TreeLinesFlags = option;
|
style.TreeLinesFlags = option;
|
||||||
EndCombo();
|
EndCombo();
|
||||||
}
|
}
|
||||||
SliderFloat("TreeLinesSize", &style.TreeLinesSize, 0.0f, 2.0f, "%.0f");
|
SliderFloat("TreeLinesSize", &style.TreeLinesSize, 0.0f, max_border_size, "%.0f");
|
||||||
SliderFloat("TreeLinesRounding", &style.TreeLinesRounding, 0.0f, 12.0f, "%.0f");
|
SliderFloat("TreeLinesRounding", &style.TreeLinesRounding, 0.0f, 12.0f, "%.0f");
|
||||||
|
|
||||||
SeparatorText("Windows");
|
SeparatorText("Windows");
|
||||||
@@ -8497,7 +8502,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||||||
SliderFloat2("SeparatorTextPadding", (float*)&style.SeparatorTextPadding, 0.0f, 40.0f, "%.0f");
|
SliderFloat2("SeparatorTextPadding", (float*)&style.SeparatorTextPadding, 0.0f, 40.0f, "%.0f");
|
||||||
SliderFloat("LogSliderDeadzone", &style.LogSliderDeadzone, 0.0f, 12.0f, "%.0f");
|
SliderFloat("LogSliderDeadzone", &style.LogSliderDeadzone, 0.0f, 12.0f, "%.0f");
|
||||||
SliderFloat("ImageRounding", &style.ImageRounding, 0.0f, 12.0f, "%.0f");
|
SliderFloat("ImageRounding", &style.ImageRounding, 0.0f, 12.0f, "%.0f");
|
||||||
SliderFloat("ImageBorderSize", &style.ImageBorderSize, 0.0f, 1.0f, "%.0f");
|
SliderFloat("ImageBorderSize", &style.ImageBorderSize, 0.0f, max_border_size, "%.0f");
|
||||||
|
|
||||||
SeparatorText("Tooltips");
|
SeparatorText("Tooltips");
|
||||||
for (int n = 0; n < 2; n++)
|
for (int n = 0; n < 2; n++)
|
||||||
|
|||||||
Reference in New Issue
Block a user