mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-23 22:01:31 +11:00
commit
3820d307a3
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
|||
Cargo.lock
|
||||
target/
|
||||
*~
|
||||
#*#
|
||||
|
|
|
@ -56,7 +56,7 @@ core-graphics = "0"
|
|||
winapi = "0.2"
|
||||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
|
@ -64,7 +64,7 @@ dwmapi-sys = "0.1"
|
|||
winapi = "0.2"
|
||||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
|
@ -72,7 +72,7 @@ dwmapi-sys = "0.1"
|
|||
winapi = "0.2"
|
||||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
|
@ -80,7 +80,7 @@ dwmapi-sys = "0.1"
|
|||
winapi = "0.2"
|
||||
shell32-sys = "0.1"
|
||||
gdi32-sys = "0.1"
|
||||
user32-sys = "~0.1.1"
|
||||
user32-sys = "~0.1.2"
|
||||
kernel32-sys = "0.1"
|
||||
dwmapi-sys = "0.1"
|
||||
|
||||
|
|
|
@ -281,6 +281,12 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT,
|
|||
0
|
||||
},
|
||||
|
||||
x if x == *super::WAKEUP_MSG_ID => {
|
||||
use events::Event::Awakened;
|
||||
send_event(window, Awakened);
|
||||
0
|
||||
},
|
||||
|
||||
_ => {
|
||||
user32::DefWindowProcW(window, msg, wparam, lparam)
|
||||
}
|
||||
|
|
|
@ -38,6 +38,10 @@ mod event;
|
|||
mod init;
|
||||
mod monitor;
|
||||
|
||||
lazy_static! {
|
||||
static ref WAKEUP_MSG_ID: u32 = unsafe { user32::RegisterWindowMessageA("Glutin::EventID".as_ptr() as *const i8) };
|
||||
}
|
||||
|
||||
/// The Win32 implementation of the main `Window` object.
|
||||
pub struct Window {
|
||||
/// Main handle for the window.
|
||||
|
@ -75,11 +79,15 @@ impl Drop for WindowWrapper {
|
|||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct WindowProxy;
|
||||
pub struct WindowProxy {
|
||||
hwnd: winapi::HWND,
|
||||
}
|
||||
|
||||
impl WindowProxy {
|
||||
pub fn wakeup_event_loop(&self) {
|
||||
unimplemented!()
|
||||
unsafe {
|
||||
user32::PostMessageA(self.hwnd, *WAKEUP_MSG_ID, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -189,7 +197,7 @@ impl Window {
|
|||
}
|
||||
|
||||
pub fn create_window_proxy(&self) -> WindowProxy {
|
||||
WindowProxy
|
||||
WindowProxy { hwnd: self.window.0 }
|
||||
}
|
||||
|
||||
/// See the docs in the crate root file.
|
||||
|
@ -207,7 +215,10 @@ impl Window {
|
|||
}
|
||||
|
||||
pub fn platform_display(&self) -> *mut libc::c_void {
|
||||
unimplemented!()
|
||||
// What should this return on win32?
|
||||
// It could be GetDC(NULL), but that requires a ReleaseDC()
|
||||
// to avoid leaking the DC.
|
||||
ptr::null_mut()
|
||||
}
|
||||
|
||||
pub fn platform_window(&self) -> *mut libc::c_void {
|
||||
|
|
Loading…
Reference in a new issue