From 457c0b720835569458f0c3b837f9a66697e34a0c Mon Sep 17 00:00:00 2001 From: Francesca Frangipane Date: Wed, 11 Apr 2018 09:29:01 -0400 Subject: [PATCH] Windows: Implement Refresh event (#454) Fixes #180 --- CHANGELOG.md | 1 + src/platform/windows/events_loop.rs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37ee791b..db367c4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Fixed SIGSEGV/SIGILL crashes on macOS caused by stabilization of the `!` (never) type. - Implement `WindowEvent::HiDPIFactorChanged` for macOS - On X11, input methods now work completely out of the box, no longer requiring application developers to manually call `setlocale`. Additionally, when input methods are started, stopped, or restarted on the server end, it's correctly handled. +- Implemented `Refresh` event on Windows. # Version 0.12.0 (2018-04-06) diff --git a/src/platform/windows/events_loop.rs b/src/platform/windows/events_loop.rs index e9bbc3cd..8d056719 100644 --- a/src/platform/windows/events_loop.rs +++ b/src/platform/windows/events_loop.rs @@ -367,6 +367,15 @@ pub unsafe extern "system" fn callback(window: HWND, msg: UINT, 1 }, + winuser::WM_PAINT => { + use events::WindowEvent::Refresh; + send_event(Event::WindowEvent { + window_id: SuperWindowId(WindowId(window)), + event: Refresh, + }); + winuser::DefWindowProcW(window, msg, wparam, lparam) + }, + winuser::WM_SIZE => { use events::WindowEvent::Resized; let w = LOWORD(lparam as DWORD) as u32;