Files
XCEngine/new_editor/app/Platform/Win32/WindowMessageHost.h

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