MCPcopy Create free account
hub / github.com/RenderKit/embree / RenderWindowOuterBorders

Method RenderWindowOuterBorders

tutorials/common/imgui/imgui.cpp:6054–6076  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6052}
6053
6054static 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

Callers

nothing calls this directly

Calls 8

GetResizeBorderRectFunction · 0.85
ImLerpFunction · 0.85
ImVec2Function · 0.85
ImMaxFunction · 0.85
AddRectMethod · 0.80
PathArcToMethod · 0.80
PathStrokeMethod · 0.80
AddLineMethod · 0.80

Tested by

no test coverage detected