mirror of
https://github.com/italicsjenga/rust_minifb.git
synced 2024-12-23 19:31:30 +11:00
[Testing] Implement is_active() on windows and x11 (#163)
* X11 implement is_active() * winapi implement is_active() Co-authored-by: Antonino Siena <a.siena@gmx.de>
This commit is contained in:
parent
ed24e436f0
commit
f97d90b7a7
|
@ -273,6 +273,7 @@ pub struct Window {
|
|||
scroll_y: f32,
|
||||
buttons: [u8; 3],
|
||||
prev_cursor: CursorStyle,
|
||||
active: bool,
|
||||
|
||||
should_close: bool, // received delete window message from X server
|
||||
|
||||
|
@ -363,7 +364,8 @@ impl Window {
|
|||
| xlib::KeyPressMask
|
||||
| xlib::KeyReleaseMask
|
||||
| xlib::ButtonPressMask
|
||||
| xlib::ButtonReleaseMask,
|
||||
| xlib::ButtonReleaseMask
|
||||
| xlib::FocusChangeMask,
|
||||
);
|
||||
|
||||
if !opts.resize {
|
||||
|
@ -416,6 +418,7 @@ impl Window {
|
|||
buttons: [0, 0, 0],
|
||||
prev_cursor: CursorStyle::Arrow,
|
||||
should_close: false,
|
||||
active: false,
|
||||
key_handler: KeyHandler::new(),
|
||||
update_rate: UpdateRate::new(),
|
||||
menu_counter: MenuHandle(0),
|
||||
|
@ -633,8 +636,7 @@ impl Window {
|
|||
|
||||
#[inline]
|
||||
pub fn is_active(&mut self) -> bool {
|
||||
// TODO: Proper implementation
|
||||
true
|
||||
self.active
|
||||
}
|
||||
|
||||
fn get_scale_factor(
|
||||
|
@ -866,6 +868,12 @@ impl Window {
|
|||
)
|
||||
.expect("todo");
|
||||
}
|
||||
xlib::FocusOut => {
|
||||
self.active = false;
|
||||
}
|
||||
xlib::FocusIn => {
|
||||
self.active = true;
|
||||
}
|
||||
|
||||
_ => {}
|
||||
}
|
||||
|
|
|
@ -828,8 +828,17 @@ impl Window {
|
|||
|
||||
#[inline]
|
||||
pub fn is_active(&mut self) -> bool {
|
||||
// TODO: Proper implementation
|
||||
match self.window {
|
||||
Some(hwnd) => {
|
||||
let active = unsafe { winapi::um::winuser::GetActiveWindow() };
|
||||
if !active.is_null() && active == hwnd {
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
None => false,
|
||||
}
|
||||
}
|
||||
|
||||
unsafe fn get_scale_factor(width: usize, height: usize, scale: Scale) -> i32 {
|
||||
|
|
Loading…
Reference in a new issue