From 06efdf6f6cf6b828ab63b9e2ea6446df0e19d4f1 Mon Sep 17 00:00:00 2001 From: CatChow0 Date: Thu, 16 Jan 2025 17:52:49 +0100 Subject: [PATCH] Imgui Update for the patch --- enginecustom/imgui.ini | 49 ++++++++++++++++++++++++++--------- enginecustom/imguiManager.cpp | 25 ++++++++++++++++++ enginecustom/imguiManager.h | 1 + 3 files changed, 63 insertions(+), 12 deletions(-) diff --git a/enginecustom/imgui.ini b/enginecustom/imgui.ini index 244abcd..298b081 100644 --- a/enginecustom/imgui.ini +++ b/enginecustom/imgui.ini @@ -1,28 +1,53 @@ [Window][Debug##Default] Pos=60,60 Size=400,400 +Collapsed=0 [Window][Khaotic Engine] -Pos=1142,43 -Size=392,273 +Pos=1665,27 +Size=375,1094 +Collapsed=0 +DockId=0x00000005,0 [Window][Objects] -Pos=598,29 -Size=457,294 +Pos=8,27 +Size=331,1094 +Collapsed=0 +DockId=0x00000003,0 [Window][Terrain] -Pos=58,62 -Size=342,82 +Pos=8,27 +Size=331,1094 +Collapsed=0 +DockId=0x00000003,1 [Window][Light] -Pos=1548,17 -Size=358,535 +Pos=1648,27 +Size=392,1094 +Collapsed=0 +DockId=0x00000005,1 [Window][Shader Manager] -Pos=471,90 -Size=180,79 +Pos=8,27 +Size=331,1094 +Collapsed=0 +DockId=0x00000003,2 [Window][Engine Settings] -Pos=106,212 -Size=407,81 +Pos=1648,27 +Size=392,1094 +Collapsed=0 +DockId=0x00000005,2 + +[Window][DockSpace Demo] +Pos=0,0 +Size=2048,1129 +Collapsed=0 + +[Docking][Data] +DockSpace ID=0xC0DFADC4 Window=0xD0388BC8 Pos=8,27 Size=2032,1094 Split=X + DockNode ID=0x00000002 Parent=0xC0DFADC4 SizeRef=1655,1094 Split=X + DockNode ID=0x00000003 Parent=0x00000002 SizeRef=331,826 Selected=0x031DC75C + DockNode ID=0x00000004 Parent=0x00000002 SizeRef=1322,826 CentralNode=1 Selected=0x9F035453 + DockNode ID=0x00000005 Parent=0xC0DFADC4 SizeRef=375,1094 Selected=0x9F035453 diff --git a/enginecustom/imguiManager.cpp b/enginecustom/imguiManager.cpp index 6f81b7f..b91ec19 100644 --- a/enginecustom/imguiManager.cpp +++ b/enginecustom/imguiManager.cpp @@ -21,6 +21,8 @@ bool imguiManager::Initialize(HWND hwnd, ID3D11Device* device, ID3D11DeviceConte IMGUI_CHECKVERSION(); ImGui::CreateContext(); io = &ImGui::GetIO(); + io->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls + io->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking ImGui_ImplWin32_Init(hwnd); ImGui_ImplDX11_Init(m_device, m_deviceContext); @@ -53,6 +55,26 @@ void imguiManager::NewFrame() ImGui::NewFrame(); } +void imguiManager::SetupDockspace() { + ImGuiWindowFlags window_flags = ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoDocking; + ImGuiViewport* viewport = ImGui::GetMainViewport(); + ImGui::SetNextWindowPos(viewport->Pos); + ImGui::SetNextWindowSize(viewport->Size); + ImGui::SetNextWindowViewport(viewport->ID); + ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f); + ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f); + window_flags |= ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove; + window_flags |= ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoNavFocus; + + ImGui::Begin("DockSpace Demo", nullptr, window_flags); + ImGui::PopStyleVar(2); + + ImGuiID dockspace_id = ImGui::GetID("MyDockSpace"); + ImGui::DockSpace(dockspace_id, ImVec2(0.0f, 0.0f), ImGuiDockNodeFlags_PassthruCentralNode); + + ImGui::End(); +} + void imguiManager::WidgetSpeedSlider(float* speed) { ImGui::SliderFloat("Speed", speed, 0.0f, 100.0f); @@ -326,6 +348,9 @@ bool imguiManager::ImGuiWidgetRenderer(ApplicationClass* app) // Start the Dear ImGui frame NewFrame(); + // Setup the dockspace + SetupDockspace(); + //ImGui Widget ImGui::Begin("Khaotic Engine", NULL); diff --git a/enginecustom/imguiManager.h b/enginecustom/imguiManager.h index f8114af..52c1e6f 100644 --- a/enginecustom/imguiManager.h +++ b/enginecustom/imguiManager.h @@ -21,6 +21,7 @@ public: void Shutdown(); void Render(); void NewFrame(); + void SetupDockspace(); // Widgets void WidgetSpeedSlider(float* speed);