On Windows, add support for Window::set_transparent
This commit is contained in:
parent
12dbbf8012
commit
5a3be586f4
3 changed files with 12 additions and 2 deletions
|
|
@ -16,6 +16,7 @@ Unreleased` header.
|
||||||
- On Wayland, ignore resize requests when the window is fully tiled.
|
- On Wayland, ignore resize requests when the window is fully tiled.
|
||||||
- On Wayland, use `configure_bounds` to constrain `with_inner_size` when compositor wants users to pick size.
|
- On Wayland, use `configure_bounds` to constrain `with_inner_size` when compositor wants users to pick size.
|
||||||
- On Windows, fix deadlock when accessing the state during `Cursor{Enter,Leave}`.
|
- On Windows, fix deadlock when accessing the state during `Cursor{Enter,Leave}`.
|
||||||
|
- On Windows, add support for `Window::set_transparent`.
|
||||||
- On macOS, fix deadlock when entering a nested event loop from an event handler.
|
- On macOS, fix deadlock when entering a nested event loop from an event handler.
|
||||||
|
|
||||||
# 0.29.2
|
# 0.29.2
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,16 @@ impl Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_transparent(&self, _transparent: bool) {}
|
pub fn set_transparent(&self, transparent: bool) {
|
||||||
|
let window = self.window.clone();
|
||||||
|
let window_state = Arc::clone(&self.window_state);
|
||||||
|
self.thread_executor.execute_in_thread(move || {
|
||||||
|
let _ = &window;
|
||||||
|
WindowState::set_window_flags(window_state.lock().unwrap(), window.0, |f| {
|
||||||
|
f.set(WindowFlags::TRANSPARENT, transparent)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
pub fn set_blur(&self, _blur: bool) {}
|
pub fn set_blur(&self, _blur: bool) {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -904,7 +904,7 @@ impl Window {
|
||||||
///
|
///
|
||||||
/// ## Platform-specific
|
/// ## Platform-specific
|
||||||
///
|
///
|
||||||
/// - **Windows / Web / iOS / Android / Orbital:** Unsupported.
|
/// - **Web / iOS / Android / Orbital:** Unsupported.
|
||||||
/// - **X11:** Can only be set while building the window, with [`WindowBuilder::with_transparent`].
|
/// - **X11:** Can only be set while building the window, with [`WindowBuilder::with_transparent`].
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn set_transparent(&self, transparent: bool) {
|
pub fn set_transparent(&self, transparent: bool) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue