From 1f3b66b10a96beca79603400bd9b80b0ae40c13c Mon Sep 17 00:00:00 2001 From: omar Date: Fri, 26 Jan 2018 11:38:25 +0100 Subject: [PATCH] Scrollbar: Fix ScrollbarX enable test subtracting WindowPadding.x. This has been here since 65a191c0050ca2a8360a25ca23403843cd3bdba2 (#246) tho at the time it is possible that SizeContents wasn't calculated as evenly. Test: auto-resize with: ImGui::Begin("Test", NULL, ImGuiWindowFlags_HorizontalScrollbar); ImGui::Button("##xxx", ImVec2(500,500)); ImGui::End(); --- imgui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imgui.cpp b/imgui.cpp index c8944d68..c14bcdba 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -4670,7 +4670,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) float size_x_for_scrollbars = size_full_modified.x != FLT_MAX ? window->SizeFull.x : window->SizeFullAtLastBegin.x; float size_y_for_scrollbars = size_full_modified.y != FLT_MAX ? window->SizeFull.y : window->SizeFullAtLastBegin.y; window->ScrollbarY = (flags & ImGuiWindowFlags_AlwaysVerticalScrollbar) || ((window->SizeContents.y > size_y_for_scrollbars) && !(flags & ImGuiWindowFlags_NoScrollbar)); - window->ScrollbarX = (flags & ImGuiWindowFlags_AlwaysHorizontalScrollbar) || ((window->SizeContents.x > size_x_for_scrollbars - (window->ScrollbarY ? style.ScrollbarSize : 0.0f) - window->WindowPadding.x) && !(flags & ImGuiWindowFlags_NoScrollbar) && (flags & ImGuiWindowFlags_HorizontalScrollbar)); + window->ScrollbarX = (flags & ImGuiWindowFlags_AlwaysHorizontalScrollbar) || ((window->SizeContents.x > size_x_for_scrollbars - (window->ScrollbarY ? style.ScrollbarSize : 0.0f)) && !(flags & ImGuiWindowFlags_NoScrollbar) && (flags & ImGuiWindowFlags_HorizontalScrollbar)); if (window->ScrollbarX && !window->ScrollbarY) window->ScrollbarY = (window->SizeContents.y > size_y_for_scrollbars + style.ScrollbarSize) && !(flags & ImGuiWindowFlags_NoScrollbar); window->ScrollbarSizes = ImVec2(window->ScrollbarY ? style.ScrollbarSize : 0.0f, window->ScrollbarX ? style.ScrollbarSize : 0.0f);