mirror of
https://github.com/barkeser2002/flower.git
synced 2026-09-25 19:36:20 +03:00
53 lines
1.7 KiB
C++
53 lines
1.7 KiB
C++
#include "Pch.h"
|
|
#include "Dockspace.h"
|
|
|
|
#include <ImGui/ImGui.h>
|
|
#include <Engine/Renderer/Renderer.h>
|
|
|
|
using namespace Flower;
|
|
using namespace Flower::UI;
|
|
|
|
DockSpace::DockSpace()
|
|
: Widget("DockSpace")
|
|
{
|
|
m_bShow = false;
|
|
}
|
|
|
|
void DockSpace::onTick(const RuntimeModuleTickData& tickData)
|
|
{
|
|
static ImGuiDockNodeFlags dockspaceFlags = ImGuiDockNodeFlags_None;
|
|
ImGuiWindowFlags windowFlags = ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoDocking;
|
|
|
|
const ImGuiViewport* viewport = ImGui::GetMainViewport();
|
|
|
|
ImGui::SetNextWindowPos(viewport->WorkPos);
|
|
ImGui::SetNextWindowSize(viewport->WorkSize);
|
|
ImGui::SetNextWindowViewport(viewport->ID);
|
|
|
|
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f);
|
|
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f);
|
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0.0f, 6.0f));
|
|
windowFlags |= ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove;
|
|
windowFlags |= ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoNavFocus;
|
|
|
|
if (dockspaceFlags & ImGuiDockNodeFlags_PassthruCentralNode)
|
|
{
|
|
windowFlags |= ImGuiWindowFlags_NoBackground;
|
|
}
|
|
|
|
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0.0f, 0.0f));
|
|
ImGui::Begin("FlowerDockSpace", &m_bShow, windowFlags);
|
|
ImGui::PopStyleVar();
|
|
|
|
ImGuiIO& io = ImGui::GetIO();
|
|
if (io.ConfigFlags & ImGuiConfigFlags_DockingEnable)
|
|
{
|
|
ImGuiID dockspaceId = ImGui::GetID("FlowerDockSpace");
|
|
ImGui::DockSpace(dockspaceId, ImVec2(0.0f, 0.0f), dockspaceFlags);
|
|
}
|
|
|
|
m_mainMenu.build();
|
|
|
|
ImGui::PopStyleVar(3);
|
|
ImGui::End();
|
|
} |