feat: 实现 Window 与 InputModule 消息集成
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include <cstddef>
|
||||
|
||||
namespace XCEngine {
|
||||
namespace Input {
|
||||
@@ -10,6 +11,7 @@ public:
|
||||
virtual void Initialize(void* windowHandle) = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
virtual void PumpEvents() = 0;
|
||||
virtual void HandleMessage(size_t hwnd, unsigned int msg, size_t wParam, size_t lParam) = 0;
|
||||
|
||||
protected:
|
||||
InputModule() = default;
|
||||
|
||||
@@ -16,16 +16,15 @@ public:
|
||||
void Initialize(void* windowHandle) override;
|
||||
void Shutdown() override;
|
||||
void PumpEvents() override;
|
||||
|
||||
void HandleMessage(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
void HandleMessage(size_t hwnd, unsigned int msg, size_t wParam, size_t lParam) override;
|
||||
|
||||
private:
|
||||
void ProcessKeyDown(WPARAM wParam, LPARAM lParam);
|
||||
void ProcessKeyUp(WPARAM wParam);
|
||||
void ProcessMouseMove(WPARAM wParam, LPARAM lParam);
|
||||
void ProcessMouseButton(WPARAM wParam, LPARAM lParam, bool pressed, MouseButton button);
|
||||
void ProcessMouseWheel(WPARAM wParam, LPARAM lParam);
|
||||
void ProcessCharInput(WPARAM wParam);
|
||||
void ProcessKeyDown(size_t wParam, size_t lParam);
|
||||
void ProcessKeyUp(size_t wParam);
|
||||
void ProcessMouseMove(size_t wParam, size_t lParam);
|
||||
void ProcessMouseButton(size_t wParam, size_t lParam, bool pressed, MouseButton button);
|
||||
void ProcessMouseWheel(size_t wParam, size_t lParam);
|
||||
void ProcessCharInput(size_t wParam);
|
||||
|
||||
KeyCode VKCodeToKeyCode(int vkCode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user