pub struct WindowConfig { /* private fields */ }Expand description
Declarative configuration for an operating-system window.
Apply it with WindowModifierExt::window to render a composable subtree
in a separate OS window on desktop. Platforms without native sub-window
support render the content inline, so pointer input and other composable
behavior stay shared. Two configurations compare equal when they ask the
same of the window; their callbacks are not compared.
Implementations§
Source§impl WindowConfig
impl WindowConfig
Sourcepub fn new(title: impl Into<String>, width: f32, height: f32) -> Self
pub fn new(title: impl Into<String>, width: f32, height: f32) -> Self
Creates a decorated, resizable window with a fixed initial content size.
Sourcepub fn new_for_state(title: impl Into<String>, state: WindowState) -> Self
pub fn new_for_state(title: impl Into<String>, state: WindowState) -> Self
Creates a decorated, resizable window using a remembered state size.
Sourcepub fn borderless(title: impl Into<String>, width: f32, height: f32) -> Self
pub fn borderless(title: impl Into<String>, width: f32, height: f32) -> Self
Creates a borderless, non-resizable window with a fixed initial content size.
Sourcepub fn borderless_for_state(
title: impl Into<String>,
state: WindowState,
) -> Self
pub fn borderless_for_state( title: impl Into<String>, state: WindowState, ) -> Self
Creates a borderless, non-resizable window using a remembered state size.
Sourcepub fn with_position(self, x: f32, y: f32) -> Self
pub fn with_position(self, x: f32, y: f32) -> Self
Sets the initial outer-window position in logical screen coordinates.
Sourcepub fn with_host_window_position(self, x: f32, y: f32) -> Self
pub fn with_host_window_position(self, x: f32, y: f32) -> Self
Sets the initial outer-window position relative to the host application window.
Sourcepub fn with_transparent(self, transparent: bool) -> Self
pub fn with_transparent(self, transparent: bool) -> Self
Sets whether compositor transparency should be requested.
Sourcepub fn with_shadow(self, shadow: bool) -> Self
pub fn with_shadow(self, shadow: bool) -> Self
Sets whether the desktop draws its own drop shadow behind the window.
The desktop takes the shadow’s shape from the window’s alpha, which suits a window whose edges are hard. A window that fades out, a glow or a blur, gets a contour drawn where the desktop’s threshold falls, and turns the shadow off to draw its own.
Sourcepub fn with_resizable(self, resizable: bool) -> Self
pub fn with_resizable(self, resizable: bool) -> Self
Sets whether the operating system should allow interactive resizing.
Sourcepub fn with_visible(self, visible: bool) -> Self
pub fn with_visible(self, visible: bool) -> Self
Sets whether the window should be visible when created.
Sourcepub fn with_always_on_top(self, always_on_top: bool) -> Self
pub fn with_always_on_top(self, always_on_top: bool) -> Self
Sets whether the window should be kept above normal windows.
Sourcepub fn with_focus(self, focus: WindowFocus) -> Self
pub fn with_focus(self, focus: WindowFocus) -> Self
Sets whether the window takes focus when it is created. See
WindowFocus.
Sourcepub fn with_min_size(self, width: f32, height: f32) -> Self
pub fn with_min_size(self, width: f32, height: f32) -> Self
Sets the minimum content size in logical pixels.
Sourcepub fn with_max_size(self, width: f32, height: f32) -> Self
pub fn with_max_size(self, width: f32, height: f32) -> Self
Sets the maximum content size in logical pixels.
Sourcepub fn on_moved(self, callback: impl Fn(f32, f32) + 'static) -> Self
pub fn on_moved(self, callback: impl Fn(f32, f32) + 'static) -> Self
Called when the operating system reports an external outer-window move.
Position changes requested through WindowState are acknowledged by the
desktop host without re-entering this callback.
Sourcepub fn on_resized(self, callback: impl Fn(f32, f32) + 'static) -> Self
pub fn on_resized(self, callback: impl Fn(f32, f32) + 'static) -> Self
Called when the operating system reports a new content size.
Sourcepub fn on_close_requested(self, callback: impl Fn() + 'static) -> Self
pub fn on_close_requested(self, callback: impl Fn() + 'static) -> Self
Called when the operating system requests that this window close.
Sourcepub fn with_state(self, state: WindowState) -> Self
pub fn with_state(self, state: WindowState) -> Self
Binds this configuration to a remembered WindowState.
The current state supplies the requested position and size. The desktop window host keeps the state in sync with the operating system unless an explicit callback updates it first.
Trait Implementations§
Source§impl Clone for WindowConfig
impl Clone for WindowConfig
Source§impl Debug for WindowConfig
impl Debug for WindowConfig
Auto Trait Implementations§
impl !RefUnwindSafe for WindowConfig
impl !Send for WindowConfig
impl !Sync for WindowConfig
impl !UnwindSafe for WindowConfig
impl Freeze for WindowConfig
impl Unpin for WindowConfig
impl UnsafeUnpin for WindowConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.