Microprofile integration.
This commit is contained in:
@@ -32,6 +32,18 @@ private:
|
||||
Window* window_;
|
||||
};
|
||||
|
||||
class KeyEvent : public UIEvent {
|
||||
public:
|
||||
KeyEvent(Window* window, int key_code) :
|
||||
key_code_(key_code),
|
||||
UIEvent(window) {}
|
||||
virtual ~KeyEvent() {}
|
||||
|
||||
int key_code() const { return key_code_; }
|
||||
|
||||
private:
|
||||
int key_code_;
|
||||
};
|
||||
|
||||
class MouseEvent : public UIEvent {
|
||||
public:
|
||||
|
||||
@@ -281,12 +281,13 @@ bool Win32Window::HandleMouse(UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
}
|
||||
|
||||
bool Win32Window::HandleKeyboard(UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
auto e = KeyEvent(this, (int)wParam);
|
||||
switch (message) {
|
||||
case WM_KEYDOWN:
|
||||
(byte)wParam;
|
||||
key_down(e);
|
||||
return true;
|
||||
case WM_KEYUP:
|
||||
(byte)wParam;
|
||||
key_up(e);
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
||||
@@ -48,6 +48,9 @@ public:
|
||||
alloy::Delegate<UIEvent> closing;
|
||||
alloy::Delegate<UIEvent> closed;
|
||||
|
||||
alloy::Delegate<KeyEvent> key_down;
|
||||
alloy::Delegate<KeyEvent> key_up;
|
||||
|
||||
alloy::Delegate<MouseEvent> mouse_down;
|
||||
alloy::Delegate<MouseEvent> mouse_move;
|
||||
alloy::Delegate<MouseEvent> mouse_up;
|
||||
|
||||
Reference in New Issue
Block a user