From 7a8e7a792272fd0d6775db1f8efe196406a50438 Mon Sep 17 00:00:00 2001 From: Tomaka17 Date: Sun, 27 Jul 2014 19:45:29 +0200 Subject: [PATCH] Implement focus events for win32 --- src/win32/ffi.rs | 2 ++ src/win32/mod.rs | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/win32/ffi.rs b/src/win32/ffi.rs index cf853ea0..0b47de87 100644 --- a/src/win32/ffi.rs +++ b/src/win32/ffi.rs @@ -305,12 +305,14 @@ pub static WM_COMMAND: UINT = 0x0111; pub static WM_DESTROY: UINT = 0x0002; pub static WM_KEYDOWN: UINT = 0x0100; pub static WM_KEYUP: UINT = 0x0101; +pub static WM_KILLFOCUS: UINT = 0x0008; pub static WM_MBUTTONDOWN: UINT = 0x0207; pub static WM_MBUTTONUP: UINT = 0x0208; pub static WM_MOUSEMOVE: UINT = 0x0200; pub static WM_PAINT: UINT = 0x000F; pub static WM_RBUTTONDOWN: UINT = 0x0204; pub static WM_RBUTTONUP: UINT = 0x0205; +pub static WM_SETFOCUS: UINT = 0x0007; pub static WM_SIZE: UINT = 0x0005; pub static WM_SIZING: UINT = 0x0214; diff --git a/src/win32/mod.rs b/src/win32/mod.rs index d5a0820f..959e1411 100644 --- a/src/win32/mod.rs +++ b/src/win32/mod.rs @@ -395,6 +395,18 @@ extern "stdcall" fn callback(window: ffi::HWND, msg: ffi::UINT, 0 }, + ffi::WM_SETFOCUS => { + use events::Focused; + send_event(window, Focused(true)); + 0 + }, + + ffi::WM_KILLFOCUS => { + use events::Focused; + send_event(window, Focused(false)); + 0 + }, + _ => unsafe { ffi::DefWindowProcW(window, msg, wparam, lparam) }