33 lines
820 B
C++
33 lines
820 B
C++
#pragma once
|
|
|
|
#ifndef NOMINMAX
|
|
#define NOMINMAX
|
|
#endif
|
|
|
|
#include <windows.h>
|
|
|
|
#include <string_view>
|
|
|
|
namespace XCEngine::UI::Editor::App {
|
|
class EditorContext;
|
|
}
|
|
|
|
namespace XCEngine::UI::Editor::Host {
|
|
|
|
class WindowMessageHost {
|
|
public:
|
|
virtual ~WindowMessageHost() = default;
|
|
|
|
virtual App::EditorContext& GetEditorContext() = 0;
|
|
virtual const App::EditorContext& GetEditorContext() const = 0;
|
|
virtual bool IsGlobalTabDragActive() const = 0;
|
|
virtual bool OwnsActiveGlobalTabDrag(std::string_view windowId) const = 0;
|
|
virtual void EndGlobalTabDragSession() = 0;
|
|
virtual void HandleDestroyedWindow(HWND hwnd) = 0;
|
|
virtual bool HandleGlobalTabDragPointerMove(HWND hwnd) = 0;
|
|
virtual bool HandleGlobalTabDragPointerButtonUp(HWND hwnd) = 0;
|
|
};
|
|
|
|
} // namespace XCEngine::UI::Editor::Host
|
|
|