refactor(new_editor): tighten app dependency boundaries
This commit is contained in:
@@ -4,21 +4,61 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#include "Platform/Win32/EditorWindowState.h"
|
||||
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
#include "Platform/Win32/EditorWindowPointerCapture.h"
|
||||
#include "Platform/Win32/EditorWindowTransferRequests.h"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <filesystem>
|
||||
#include <optional>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
namespace XCEngine::UI {
|
||||
|
||||
class UIDrawList;
|
||||
|
||||
struct UIPoint;
|
||||
struct UIRect;
|
||||
struct UIInputEvent;
|
||||
struct UIInputModifiers;
|
||||
|
||||
enum class UIPointerButton : std::uint8_t;
|
||||
enum class UIInputEventType : std::uint8_t;
|
||||
|
||||
} // namespace XCEngine::UI
|
||||
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
class UIEditorWorkspaceController;
|
||||
|
||||
struct UIEditorDockHostInteractionState;
|
||||
struct UIEditorShellInteractionFrame;
|
||||
struct UIEditorShellInteractionState;
|
||||
struct UIEditorShellInteractionResult;
|
||||
|
||||
namespace Widgets {
|
||||
struct UIEditorDockHostDropPreviewState;
|
||||
}
|
||||
|
||||
} // namespace XCEngine::UI::Editor
|
||||
|
||||
namespace XCEngine::UI::Editor::Host {
|
||||
|
||||
enum class BorderlessWindowChromeHitTarget : std::uint8_t;
|
||||
enum class BorderlessWindowResizeEdge : std::uint8_t;
|
||||
|
||||
struct BorderlessWindowChromeLayout;
|
||||
|
||||
} // namespace XCEngine::UI::Editor::Host
|
||||
|
||||
namespace XCEngine::UI::Editor::App {
|
||||
|
||||
class EditorContext;
|
||||
class EditorShellRuntime;
|
||||
struct EditorWindowState;
|
||||
|
||||
namespace Internal {
|
||||
class EditorWindowHostRuntime;
|
||||
@@ -40,6 +80,7 @@ public:
|
||||
std::wstring title,
|
||||
bool primary,
|
||||
UIEditorWorkspaceController workspaceController);
|
||||
~EditorWindow();
|
||||
|
||||
EditorWindow(const EditorWindow&) = delete;
|
||||
EditorWindow& operator=(const EditorWindow&) = delete;
|
||||
@@ -215,11 +256,7 @@ private:
|
||||
void UpdateCachedTitleText();
|
||||
static bool IsVerboseRuntimeTraceEnabled();
|
||||
|
||||
EditorWindowWindowState m_window = {};
|
||||
EditorWindowRenderState m_render = {};
|
||||
EditorWindowInputState m_input = {};
|
||||
EditorWindowCompositionState m_composition = {};
|
||||
EditorWindowChromeRuntimeState m_chrome = {};
|
||||
std::unique_ptr<EditorWindowState> m_state = {};
|
||||
};
|
||||
|
||||
} // namespace XCEngine::UI::Editor::App
|
||||
|
||||
Reference in New Issue
Block a user