diff options
| author | Pietro Gagliardi <[email protected]> | 2014-08-21 05:37:24 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-08-21 05:37:24 -0400 |
| commit | e5c74b832be68fdbefb9c7527c2367dba1cec7a8 (patch) | |
| tree | bff78082b8666a04ce42b815b11a65ddee77821d /redo/area_windows.c | |
| parent | f3ca234dda0c34c2bd11acee414111d1c745422d (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.c | 17 |
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 |
