summaryrefslogtreecommitdiff
path: root/redo/area_windows.c
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-08-21 05:37:24 -0400
committerPietro Gagliardi <[email protected]>2014-08-21 05:37:24 -0400
commite5c74b832be68fdbefb9c7527c2367dba1cec7a8 (patch)
treebff78082b8666a04ce42b815b11a65ddee77821d /redo/area_windows.c
parentf3ca234dda0c34c2bd11acee414111d1c745422d (diff)
Changed AreaHandler.Key() to return a boolean value indicating if the event was handled; implemented this on Windows. It does sledgehammer some edge cases I wanted to avoid, but it also avoids fussing about scrolling and focus and what not.
Diffstat (limited to 'redo/area_windows.c')
-rw-r--r--redo/area_windows.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/redo/area_windows.c b/redo/area_windows.c
index e9ded14..ce538db 100644
--- a/redo/area_windows.c
+++ b/redo/area_windows.c
@@ -380,19 +380,10 @@ static LRESULT CALLBACK areaWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
heldButtons = (uintptr_t) GET_KEYSTATE_WPARAM(wParam);
areaMouseEvent(hwnd, data, which, TRUE, heldButtons, lParam);
return TRUE;
- case WM_KEYDOWN:
- areaKeyEvent(data, FALSE, wParam, lParam);
- return 0;
- case WM_KEYUP:
- areaKeyEvent(data, TRUE, wParam, lParam);
- return 0;
- // Alt+[anything] and F10 send these instead and require us to return to DefWindowProc() so global keystrokes such as Alt+Tab can be processed
- case WM_SYSKEYDOWN:
- areaKeyEvent(data, FALSE, wParam, lParam);
- return DefWindowProcW(hwnd, uMsg, wParam, lParam);
- case WM_SYSKEYUP:
- areaKeyEvent(data, TRUE, wParam, lParam);
- return DefWindowProcW(hwnd, uMsg, wParam, lParam);
+ case msgAreaKeyDown:
+ return (LRESULT) areaKeyEvent(data, FALSE, wParam, lParam);
+ case msgAreaKeyUp:
+ return (LRESULT) areaKeyEvent(data, TRUE, wParam, lParam);
case msgAreaSizeChanged:
adjustAreaScrollbars(hwnd, data);
repaintArea(hwnd); // this calls for an update