56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#ifndef NOMINMAX
|
|
#define NOMINMAX
|
|
#endif
|
|
|
|
#include <windows.h>
|
|
|
|
namespace XCEngine::UI::Editor {
|
|
namespace App {
|
|
class EditorWindow;
|
|
}
|
|
}
|
|
|
|
namespace XCEngine::UI::Editor::Host {
|
|
|
|
class WindowMessageHost;
|
|
|
|
struct WindowMessageDispatchContext {
|
|
HWND hwnd = nullptr;
|
|
WindowMessageHost& windowHost;
|
|
App::EditorWindow& window;
|
|
};
|
|
|
|
void RenderAndValidateWindow(const WindowMessageDispatchContext& context);
|
|
|
|
bool TryDispatchWindowChromeMessage(
|
|
const WindowMessageDispatchContext& context,
|
|
UINT message,
|
|
WPARAM wParam,
|
|
LPARAM lParam,
|
|
LRESULT& outResult);
|
|
|
|
bool TryDispatchWindowLifecycleMessage(
|
|
const WindowMessageDispatchContext& context,
|
|
UINT message,
|
|
WPARAM wParam,
|
|
LPARAM lParam,
|
|
LRESULT& outResult);
|
|
|
|
bool TryDispatchWindowInputMessage(
|
|
const WindowMessageDispatchContext& context,
|
|
UINT message,
|
|
WPARAM wParam,
|
|
LPARAM lParam,
|
|
LRESULT& outResult);
|
|
|
|
bool TryDispatchWindowPointerMessage(
|
|
const WindowMessageDispatchContext& context,
|
|
UINT message,
|
|
WPARAM wParam,
|
|
LPARAM lParam,
|
|
LRESULT& outResult);
|
|
|
|
} // namespace XCEngine::UI::Editor::Host
|