Imgui Update for the patch

This commit is contained in:
CatChow0 2025-01-16 17:52:49 +01:00
parent b029018552
commit 06efdf6f6c
3 changed files with 63 additions and 12 deletions

View File

@ -1,28 +1,53 @@
[Window][Debug##Default] [Window][Debug##Default]
Pos=60,60 Pos=60,60
Size=400,400 Size=400,400
Collapsed=0
[Window][Khaotic Engine] [Window][Khaotic Engine]
Pos=1142,43 Pos=1665,27
Size=392,273 Size=375,1094
Collapsed=0
DockId=0x00000005,0
[Window][Objects] [Window][Objects]
Pos=598,29 Pos=8,27
Size=457,294 Size=331,1094
Collapsed=0
DockId=0x00000003,0
[Window][Terrain] [Window][Terrain]
Pos=58,62 Pos=8,27
Size=342,82 Size=331,1094
Collapsed=0
DockId=0x00000003,1
[Window][Light] [Window][Light]
Pos=1548,17 Pos=1648,27
Size=358,535 Size=392,1094
Collapsed=0
DockId=0x00000005,1
[Window][Shader Manager] [Window][Shader Manager]
Pos=471,90 Pos=8,27
Size=180,79 Size=331,1094
Collapsed=0
DockId=0x00000003,2
[Window][Engine Settings] [Window][Engine Settings]
Pos=106,212 Pos=1648,27
Size=407,81 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

View File

@ -21,6 +21,8 @@ bool imguiManager::Initialize(HWND hwnd, ID3D11Device* device, ID3D11DeviceConte
IMGUI_CHECKVERSION(); IMGUI_CHECKVERSION();
ImGui::CreateContext(); ImGui::CreateContext();
io = &ImGui::GetIO(); io = &ImGui::GetIO();
io->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
io->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
ImGui_ImplWin32_Init(hwnd); ImGui_ImplWin32_Init(hwnd);
ImGui_ImplDX11_Init(m_device, m_deviceContext); ImGui_ImplDX11_Init(m_device, m_deviceContext);
@ -53,6 +55,26 @@ void imguiManager::NewFrame()
ImGui::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) void imguiManager::WidgetSpeedSlider(float* speed)
{ {
ImGui::SliderFloat("Speed", speed, 0.0f, 100.0f); ImGui::SliderFloat("Speed", speed, 0.0f, 100.0f);
@ -326,6 +348,9 @@ bool imguiManager::ImGuiWidgetRenderer(ApplicationClass* app)
// Start the Dear ImGui frame // Start the Dear ImGui frame
NewFrame(); NewFrame();
// Setup the dockspace
SetupDockspace();
//ImGui Widget //ImGui Widget
ImGui::Begin("Khaotic Engine", NULL); ImGui::Begin("Khaotic Engine", NULL);

View File

@ -21,6 +21,7 @@ public:
void Shutdown(); void Shutdown();
void Render(); void Render();
void NewFrame(); void NewFrame();
void SetupDockspace();
// Widgets // Widgets
void WidgetSpeedSlider(float* speed); void WidgetSpeedSlider(float* speed);