Files
XCEngine/new_editor/app/Platform/Win32/EditorAddComponentUtilityWindowContentController.cpp

52 lines
1.8 KiB
C++

#include "Platform/Win32/EditorAddComponentUtilityWindowContentController.h"
#include <XCEngine/UI/DrawData.h>
namespace XCEngine::UI::Editor::App {
EditorAddComponentUtilityWindowContentController::
EditorAddComponentUtilityWindowContentController(
const ::XCEngine::UI::UISize& minimumOuterSize)
: EditorStandaloneUtilityWindowContentController(minimumOuterSize) {}
EditorAddComponentUtilityWindowContentController::
~EditorAddComponentUtilityWindowContentController() = default;
void EditorAddComponentUtilityWindowContentController::OnShutdown() {
m_addComponentPanel.ResetInteractionState();
}
void EditorAddComponentUtilityWindowContentController::OnResetInteractionState() {
m_addComponentPanel.ResetInteractionState();
}
EditorWindowFrameTransferRequests
EditorAddComponentUtilityWindowContentController::UpdateStandaloneContent(
const EditorStandaloneUtilityWindowFrameContext& context,
::XCEngine::UI::UIDrawData& drawData) {
m_addComponentPanel.Update(
context.editorContext,
AddComponentPanelHostContext{
.mounted = true,
.bounds = context.bounds,
.focused = context.focused,
.focusGained = context.focusGained,
.focusLost = context.focusLost,
},
context.inputEvents);
::XCEngine::UI::UIDrawList& drawList =
drawData.EmplaceDrawList("XCEditorUtility.AddComponent");
m_addComponentPanel.Append(drawList);
return {};
}
std::unique_ptr<EditorWindowContentController>
CreateEditorAddComponentUtilityWindowContentController(
const ::XCEngine::UI::UISize& minimumOuterSize) {
return std::make_unique<EditorAddComponentUtilityWindowContentController>(
minimumOuterSize);
}
} // namespace XCEngine::UI::Editor::App