20 float SmallOffsetX = 11.0f - 22;
22 ImDrawList *drawList =
nullptr;
24 ImVec2 verticalLineStart = {0, 0};
26 ImVec2 verticalLineEnd = {0, 0};
30 drawList = ImGui::GetWindowDrawList();
32 verticalLineStart = ImGui::GetCursorScreenPos();
33 verticalLineStart.x += SmallOffsetX * ui_scale;
34 verticalLineEnd = verticalLineStart;
37 bool node(std::string icon)
39 const float HorizontalTreeLineSize = 8.0f * ui_scale;
40 const float minY = ImGui::GetCursorScreenPos().y - 20 * ui_scale;
41 const float midpoint = minY + HorizontalTreeLineSize;
42 drawList->AddLine(ImVec2(verticalLineStart.x, midpoint), ImVec2(verticalLineStart.x + HorizontalTreeLineSize, midpoint), style::theme.treeview_icon);
43 drawList->AddText(ImVec2(verticalLineStart.x + HorizontalTreeLineSize * 2.0f, minY), style::theme.treeview_icon, icon.c_str());
44 verticalLineEnd.y = midpoint;
50 drawList->AddLine(verticalLineStart, verticalLineEnd, style::theme.treeview_icon);
52 return verticalLineEnd.y - verticalLineStart.y;