Docking: (very minor) Scaling of drop boxes padding, rounding, thickness.
This commit is contained in:
parent
b334d19b66
commit
81cfcb8c1f
12
imgui.cpp
12
imgui.cpp
@ -20339,24 +20339,26 @@ static void ImGui::DockNodePreviewDockRender(ImGuiWindow* host_window, ImGuiDock
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Display drop boxes
|
// Display drop boxes
|
||||||
const float overlay_rounding = ImMax(3.0f, g.Style.FrameRounding);
|
const float scale = g.Style._MainScale; // FIXME-DPI
|
||||||
|
const float overlay_rounding = ImMax((float)(int)(3.0f * scale), g.Style.FrameRounding);
|
||||||
for (int dir = ImGuiDir_None; dir < ImGuiDir_COUNT; dir++)
|
for (int dir = ImGuiDir_None; dir < ImGuiDir_COUNT; dir++)
|
||||||
{
|
{
|
||||||
if (!data->DropRectsDraw[dir + 1].IsInverted())
|
if (!data->DropRectsDraw[dir + 1].IsInverted())
|
||||||
{
|
{
|
||||||
ImRect draw_r = data->DropRectsDraw[dir + 1];
|
ImRect draw_r = data->DropRectsDraw[dir + 1];
|
||||||
ImRect draw_r_in = draw_r;
|
ImRect draw_r_in = draw_r;
|
||||||
draw_r_in.Expand(-2.0f);
|
draw_r_in.Expand((float)(int)(-2.0f * scale));
|
||||||
ImU32 overlay_col = (data->SplitDir == (ImGuiDir)dir && data->IsSplitDirExplicit) ? overlay_col_drop_hovered : overlay_col_drop;
|
ImU32 overlay_col = (data->SplitDir == (ImGuiDir)dir && data->IsSplitDirExplicit) ? overlay_col_drop_hovered : overlay_col_drop;
|
||||||
|
float thickness = (float)(int)(1.0f * scale);
|
||||||
for (int overlay_n = 0; overlay_n < overlay_draw_lists_count; overlay_n++)
|
for (int overlay_n = 0; overlay_n < overlay_draw_lists_count; overlay_n++)
|
||||||
{
|
{
|
||||||
ImVec2 center = ImFloor(draw_r_in.GetCenter());
|
ImVec2 center = ImFloor(draw_r_in.GetCenter());
|
||||||
overlay_draw_lists[overlay_n]->AddRectFilled(draw_r.Min, draw_r.Max, overlay_col, overlay_rounding);
|
overlay_draw_lists[overlay_n]->AddRectFilled(draw_r.Min, draw_r.Max, overlay_col, overlay_rounding);
|
||||||
overlay_draw_lists[overlay_n]->AddRect(draw_r_in.Min, draw_r_in.Max, overlay_col_lines, overlay_rounding);
|
overlay_draw_lists[overlay_n]->AddRect(draw_r_in.Min, draw_r_in.Max, overlay_col_lines, overlay_rounding, thickness);
|
||||||
if (dir == ImGuiDir_Left || dir == ImGuiDir_Right)
|
if (dir == ImGuiDir_Left || dir == ImGuiDir_Right)
|
||||||
overlay_draw_lists[overlay_n]->AddLine(ImVec2(center.x, draw_r_in.Min.y), ImVec2(center.x, draw_r_in.Max.y), overlay_col_lines);
|
overlay_draw_lists[overlay_n]->AddLineV(center.x, draw_r_in.Min.y, draw_r_in.Max.y, overlay_col_lines, thickness);
|
||||||
if (dir == ImGuiDir_Up || dir == ImGuiDir_Down)
|
if (dir == ImGuiDir_Up || dir == ImGuiDir_Down)
|
||||||
overlay_draw_lists[overlay_n]->AddLine(ImVec2(draw_r_in.Min.x, center.y), ImVec2(draw_r_in.Max.x, center.y), overlay_col_lines);
|
overlay_draw_lists[overlay_n]->AddLineH(draw_r_in.Min.x, draw_r_in.Max.x, center.y, overlay_col_lines, thickness);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user