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]
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

View File

@ -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);

View File

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