ImGui의 Docking Space는 여러 창을 자유롭게 배치하고 관리할 수 있는 도킹 시스템을 제공합니다. 이를 통해 사용자는 창을 끌어서 배치하거나 분리하는 등의 작업을 수행할 수 있습니다. 제공된 코드는 ImGui 도킹 공간을 생성하고, 메뉴바를 추가하여 파일 및 스크립트 관련 옵션을 제공하는 예제입니다.


주요 코드 분석 및 설명

1. Docking 활성화 확인

cpp
코드 복사
ImGuiIO& io = ImGui::GetIO();
if (io.ConfigFlags & ImGuiConfigFlags_DockingEnable)
{
    // Docking이 활성화된 경우 실행
}

2. DockSpace 생성

cpp
코드 복사
ImGuiID dockspace_id = ImGui::GetID("MyDockSpace");
ImGui::DockSpace(dockspace_id, ImVec2(0.0f, 0.0f), mDockspaceFlags);


3. WindowMinSize 조정

cpp
코드 복사
float minWinSizeX = style.WindowMinSize.x;
style.WindowMinSize.x = 370.0f;
...
style.WindowMinSize.x = minWinSizeX;


4. MenuBar 추가