MCPcopy Create free account
hub / github.com/Aegel5/SimpleSwitcher / DockBuilderCopyNodeRec

Function DockBuilderCopyNodeRec

imgui_tiny_app/imgui/imgui.cpp:20919–20944  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20917}
20918
20919static ImGuiDockNode* DockBuilderCopyNodeRec(ImGuiDockNode* src_node, ImGuiID dst_node_id_if_known, ImVector<ImGuiID>* out_node_remap_pairs)
20920{
20921 ImGuiContext& g = *GImGui;
20922 ImGuiDockNode* dst_node = ImGui::DockContextAddNode(&g, dst_node_id_if_known);
20923 dst_node->SharedFlags = src_node->SharedFlags;
20924 dst_node->LocalFlags = src_node->LocalFlags;
20925 dst_node->LocalFlagsInWindows = ImGuiDockNodeFlags_None;
20926 dst_node->Pos = src_node->Pos;
20927 dst_node->Size = src_node->Size;
20928 dst_node->SizeRef = src_node->SizeRef;
20929 dst_node->SplitAxis = src_node->SplitAxis;
20930 dst_node->UpdateMergedFlags();
20931
20932 out_node_remap_pairs->push_back(src_node->ID);
20933 out_node_remap_pairs->push_back(dst_node->ID);
20934
20935 for (int child_n = 0; child_n < IM_COUNTOF(src_node->ChildNodes); child_n++)
20936 if (src_node->ChildNodes[child_n])
20937 {
20938 dst_node->ChildNodes[child_n] = DockBuilderCopyNodeRec(src_node->ChildNodes[child_n], 0, out_node_remap_pairs);
20939 dst_node->ChildNodes[child_n]->ParentNode = dst_node;
20940 }
20941
20942 IMGUI_DEBUG_LOG_DOCKING("[docking] Fork node %08X -> %08X (%d childs)\n", src_node->ID, dst_node->ID, dst_node->IsSplitNode() ? 2 : 0);
20943 return dst_node;
20944}
20945
20946void ImGui::DockBuilderCopyNode(ImGuiID src_node_id, ImGuiID dst_node_id, ImVector<ImGuiID>* out_node_remap_pairs)
20947{

Callers 1

DockBuilderCopyNodeMethod · 0.85

Calls 1

push_backMethod · 0.45

Tested by

no test coverage detected