| 20917 | } |
| 20918 | |
| 20919 | static 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 | |
| 20946 | void ImGui::DockBuilderCopyNode(ImGuiID src_node_id, ImGuiID dst_node_id, ImVector<ImGuiID>* out_node_remap_pairs) |
| 20947 | { |
no test coverage detected