Skip to main content

WindowConfig

Struct WindowConfig 

Source
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

Source

pub fn new(title: impl Into<String>, width: f32, height: f32) -> Self

Creates a decorated, resizable window with a fixed initial content size.

Source

pub fn new_for_state(title: impl Into<String>, state: WindowState) -> Self

Creates a decorated, resizable window using a remembered state size.

Source

pub fn borderless(title: impl Into<String>, width: f32, height: f32) -> Self

Creates a borderless, non-resizable window with a fixed initial content size.

Source

pub fn borderless_for_state( title: impl Into<String>, state: WindowState, ) -> Self

Creates a borderless, non-resizable window using a remembered state size.

Source

pub fn with_position(self, x: f32, y: f32) -> Self

Sets the initial outer-window position in logical screen coordinates.

Source

pub fn with_host_window_position(self, x: f32, y: f32) -> Self

Sets the initial outer-window position relative to the host application window.

Source

pub fn with_transparent(self, transparent: bool) -> Self

Sets whether compositor transparency should be requested.

Source

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.

Source

pub fn with_resizable(self, resizable: bool) -> Self

Sets whether the operating system should allow interactive resizing.

Source

pub fn with_visible(self, visible: bool) -> Self

Sets whether the window should be visible when created.

Source

pub fn with_always_on_top(self, always_on_top: bool) -> Self

Sets whether the window should be kept above normal windows.

Source

pub fn with_focus(self, focus: WindowFocus) -> Self

Sets whether the window takes focus when it is created. See WindowFocus.

Source

pub fn with_min_size(self, width: f32, height: f32) -> Self

Sets the minimum content size in logical pixels.

Source

pub fn with_max_size(self, width: f32, height: f32) -> Self

Sets the maximum content size in logical pixels.

Source

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.

Source

pub fn on_resized(self, callback: impl Fn(f32, f32) + 'static) -> Self

Called when the operating system reports a new content size.

Source

pub fn on_close_requested(self, callback: impl Fn() + 'static) -> Self

Called when the operating system requests that this window close.

Source

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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WindowConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for WindowConfig

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more