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

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