new_editor: stabilize resize lifecycle groundwork
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#endif
|
||||
|
||||
#include "Platform/Win32/EditorWindowPointerCapture.h"
|
||||
#include "Platform/Win32/EditorWindowState.h"
|
||||
#include "Platform/Win32/EditorWindowTransferRequests.h"
|
||||
|
||||
#include <windows.h>
|
||||
@@ -88,8 +89,10 @@ public:
|
||||
std::string_view GetWindowId() const;
|
||||
HWND GetHwnd() const;
|
||||
bool HasHwnd() const;
|
||||
EditorWindowLifecycleState GetLifecycleState() const;
|
||||
bool IsPrimary() const;
|
||||
bool IsClosing() const;
|
||||
bool IsDestroyed() const;
|
||||
const std::wstring& GetTitle() const;
|
||||
const UIEditorWorkspaceController* TryGetWorkspaceController() const;
|
||||
const UIEditorWorkspaceController& GetWorkspaceController() const;
|
||||
@@ -122,9 +125,10 @@ private:
|
||||
void ClearExternalDockHostDropPreview();
|
||||
|
||||
void AttachHwnd(HWND hwnd);
|
||||
void MarkInitializing();
|
||||
void MarkRunning();
|
||||
void MarkDestroyed();
|
||||
void MarkClosing();
|
||||
void ClearClosing();
|
||||
void SetPrimary(bool primary);
|
||||
void SetTrackingMouseLeave(bool trackingMouseLeave);
|
||||
void SetTitle(std::wstring title);
|
||||
@@ -145,6 +149,10 @@ private:
|
||||
EditorWindowFrameTransferRequests OnPaintMessage(
|
||||
EditorContext& editorContext,
|
||||
bool globalTabDragActive);
|
||||
void QueueCompletedImmediateFrame(
|
||||
EditorWindowFrameTransferRequests transferRequests);
|
||||
bool HasQueuedCompletedImmediateFrame() const;
|
||||
EditorWindowFrameTransferRequests ConsumeQueuedCompletedImmediateFrameTransferRequests();
|
||||
bool OnResize(UINT width, UINT height);
|
||||
void OnEnterSizeMove();
|
||||
bool OnExitSizeMove();
|
||||
@@ -256,6 +264,8 @@ private:
|
||||
std::unique_ptr<EditorWindowFrameOrchestrator> m_frameOrchestrator = {};
|
||||
std::unique_ptr<EditorWindowInputController> m_inputController = {};
|
||||
std::unique_ptr<EditorWindowRuntimeController> m_runtime = {};
|
||||
EditorWindowFrameTransferRequests m_queuedImmediateFrameTransferRequests = {};
|
||||
bool m_hasQueuedCompletedImmediateFrame = false;
|
||||
};
|
||||
|
||||
} // namespace XCEngine::UI::Editor::App
|
||||
|
||||
Reference in New Issue
Block a user