| 6052 | } |
| 6053 | |
| 6054 | static void ImGui::RenderWindowOuterBorders(ImGuiWindow* window) |
| 6055 | { |
| 6056 | ImGuiContext& g = *GImGui; |
| 6057 | float rounding = window->WindowRounding; |
| 6058 | float border_size = window->WindowBorderSize; |
| 6059 | if (border_size > 0.0f && !(window->Flags & ImGuiWindowFlags_NoBackground)) |
| 6060 | window->DrawList->AddRect(window->Pos, window->Pos + window->Size, GetColorU32(ImGuiCol_Border), rounding, 0, border_size); |
| 6061 | |
| 6062 | int border_held = window->ResizeBorderHeld; |
| 6063 | if (border_held != -1) |
| 6064 | { |
| 6065 | const ImGuiResizeBorderDef& def = resize_border_def[border_held]; |
| 6066 | ImRect border_r = GetResizeBorderRect(window, border_held, rounding, 0.0f); |
| 6067 | window->DrawList->PathArcTo(ImLerp(border_r.Min, border_r.Max, def.SegmentN1) + ImVec2(0.5f, 0.5f) + def.InnerDir * rounding, rounding, def.OuterAngle - IM_PI * 0.25f, def.OuterAngle); |
| 6068 | window->DrawList->PathArcTo(ImLerp(border_r.Min, border_r.Max, def.SegmentN2) + ImVec2(0.5f, 0.5f) + def.InnerDir * rounding, rounding, def.OuterAngle, def.OuterAngle + IM_PI * 0.25f); |
| 6069 | window->DrawList->PathStroke(GetColorU32(ImGuiCol_SeparatorActive), 0, ImMax(2.0f, border_size)); // Thicker than usual |
| 6070 | } |
| 6071 | if (g.Style.FrameBorderSize > 0 && !(window->Flags & ImGuiWindowFlags_NoTitleBar)) |
| 6072 | { |
| 6073 | float y = window->Pos.y + window->TitleBarHeight() - 1; |
| 6074 | window->DrawList->AddLine(ImVec2(window->Pos.x + border_size, y), ImVec2(window->Pos.x + window->Size.x - border_size, y), GetColorU32(ImGuiCol_Border), g.Style.FrameBorderSize); |
| 6075 | } |
| 6076 | } |
| 6077 | |
| 6078 | // Draw background and borders |
| 6079 | // Draw and handle scrollbars |
nothing calls this directly
no test coverage detected