|
| 1 | +// {{project.name}} — generated from {{self.name}}@{{self.version}}:docking |
| 2 | +import imgui.core; |
| 3 | +import imgui.app; |
| 4 | + |
| 5 | +int main() { |
| 6 | + return ImGui::App::run({.title = "{{project.name}}"}, [] { |
| 7 | + auto dockspace = ImGui::DockSpaceOverViewport(); |
| 8 | + |
| 9 | + static bool layout_built = false; |
| 10 | + if (!layout_built) { |
| 11 | + layout_built = true; |
| 12 | + const auto root = dockspace; |
| 13 | + auto left = ImGui::DockBuilderSplitNode( |
| 14 | + dockspace, ImGui::Dir_Left, 0.22f, nullptr, &dockspace); |
| 15 | + auto down = ImGui::DockBuilderSplitNode( |
| 16 | + dockspace, ImGui::Dir_Down, 0.28f, nullptr, &dockspace); |
| 17 | + auto right = ImGui::DockBuilderSplitNode( |
| 18 | + dockspace, ImGui::Dir_Right, 0.30f, nullptr, &dockspace); |
| 19 | + ImGui::DockBuilderDockWindow("Scene", left); |
| 20 | + ImGui::DockBuilderDockWindow("Console", down); |
| 21 | + ImGui::DockBuilderDockWindow("Inspector", right); |
| 22 | + ImGui::DockBuilderDockWindow("Viewport", dockspace); |
| 23 | + ImGui::DockBuilderFinish(root); |
| 24 | + } |
| 25 | + |
| 26 | + ImGui::Begin("Scene"); ImGui::TextUnformatted("scene tree"); ImGui::End(); |
| 27 | + ImGui::Begin("Viewport"); ImGui::TextUnformatted("drag tabs to re-split / detach"); ImGui::End(); |
| 28 | + ImGui::Begin("Inspector"); ImGui::TextUnformatted("properties"); ImGui::End(); |
| 29 | + ImGui::Begin("Console"); ImGui::TextUnformatted("logs"); ImGui::End(); |
| 30 | + }); |
| 31 | +} |
0 commit comments