pub struct WindowBuilder { /* private fields */ }
Expand description

Object that allows building windows.

Implementations§

source§

impl WindowBuilder

source

pub fn new() -> WindowBuilder

Initializes a new builder with default values.

source§

impl WindowBuilder

source

pub fn window_attributes(&self) -> &WindowAttributes

Get the current window attributes.

source

pub fn with_inner_size<S>(self, size: S) -> WindowBuilder
where S: Into<Size>,

Requests the window to be of specific dimensions.

If this is not set, some platform-specific dimensions will be used.

See Window::request_inner_size for details.

source

pub fn with_min_inner_size<S>(self, min_size: S) -> WindowBuilder
where S: Into<Size>,

Sets the minimum dimensions a window can have.

If this is not set, the window will have no minimum dimensions (aside from reserved).

See Window::set_min_inner_size for details.

source

pub fn with_max_inner_size<S>(self, max_size: S) -> WindowBuilder
where S: Into<Size>,

Sets the maximum dimensions a window can have.

If this is not set, the window will have no maximum or will be set to the primary monitor’s dimensions by the platform.

See Window::set_max_inner_size for details.

source

pub fn with_position<P>(self, position: P) -> WindowBuilder
where P: Into<Position>,

Sets a desired initial position for the window.

If this is not set, some platform-specific position will be chosen.

See Window::set_outer_position for details.

§Platform-specific
  • macOS: The top left corner position of the window content, the window’s “inner” position. The window title bar will be placed above it. The window will be positioned such that it fits on screen, maintaining set inner_size if any. If you need to precisely position the top left corner of the whole window you have to use Window::set_outer_position after creating the window.
  • Windows: The top left corner position of the window title bar, the window’s “outer” position. There may be a small gap between this position and the window due to the specifics of the Window Manager.
  • X11: The top left corner of the window, the window’s “outer” position.
  • Others: Ignored.
source

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

Sets whether the window is resizable or not.

The default is true.

See Window::set_resizable for details.

source

pub fn with_enabled_buttons(self, buttons: WindowButtons) -> WindowBuilder

Sets the enabled window buttons.

The default is WindowButtons::all

See Window::set_enabled_buttons for details.

source

pub fn with_title<T>(self, title: T) -> WindowBuilder
where T: Into<String>,

Sets the initial title of the window in the title bar.

The default is "winit window".

See Window::set_title for details.

source

pub fn with_fullscreen(self, fullscreen: Option<Fullscreen>) -> WindowBuilder

Sets whether the window should be put into fullscreen upon creation.

The default is None.

See Window::set_fullscreen for details.

source

pub fn with_maximized(self, maximized: bool) -> WindowBuilder

Request that the window is maximized upon creation.

The default is false.

See Window::set_maximized for details.

source

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

Sets whether the window will be initially visible or hidden.

The default is to show the window.

See Window::set_visible for details.

source

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

Sets whether the background of the window should be transparent.

If this is true, writing colors with alpha values different than 1.0 will produce a transparent window. On some platforms this is more of a hint for the system and you’d still have the alpha buffer. To control it see Window::set_transparent.

The default is false.

source

pub fn with_blur(self, blur: bool) -> WindowBuilder

Sets whether the background of the window should be blurred by the system.

The default is false.

See Window::set_blur for details.

source

pub fn transparent(&self) -> bool

Get whether the window will support transparency.

source

pub fn with_decorations(self, decorations: bool) -> WindowBuilder

Sets whether the window should have a border, a title bar, etc.

The default is true.

See Window::set_decorations for details.

source

pub fn with_window_level(self, level: WindowLevel) -> WindowBuilder

Sets the window level.

This is just a hint to the OS, and the system could ignore it.

The default is WindowLevel::Normal.

See WindowLevel for details.

source

pub fn with_window_icon(self, window_icon: Option<Icon>) -> WindowBuilder

Sets the window icon.

The default is None.

See Window::set_window_icon for details.

source

pub fn with_theme(self, theme: Option<Theme>) -> WindowBuilder

Sets a specific theme for the window.

If None is provided, the window will use the system theme.

The default is None.

§Platform-specific
  • macOS: This is an app-wide setting.
  • Wayland: This controls only CSD. When using None it’ll try to use dbus to get the system preference. When explicit theme is used, this will avoid dbus all together.
  • x11: Build window with _GTK_THEME_VARIANT hint set to dark or light.
  • iOS / Android / Web / x11 / Orbital: Ignored.
source

pub fn with_resize_increments<S>(self, resize_increments: S) -> WindowBuilder
where S: Into<Size>,

Build window with resize increments hint.

The default is None.

See Window::set_resize_increments for details.

source

pub fn with_content_protected(self, protected: bool) -> WindowBuilder

Prevents the window contents from being captured by other apps.

The default is false.

§Platform-specific
  • macOS: if false, NSWindowSharingNone is used but doesn’t completely prevent all apps from reading the window content, for instance, QuickTime.
  • iOS / Android / Web / x11 / Orbital: Ignored.
source

pub fn with_active(self, active: bool) -> WindowBuilder

Whether the window will be initially focused or not.

The window should be assumed as not focused by default following by the WindowEvent::Focused.

§Platform-specific:

Android / iOS / X11 / Wayland / Orbital: Unsupported.

source

pub unsafe fn with_parent_window( self, parent_window: Option<RawWindowHandle> ) -> WindowBuilder

Build window with parent window.

The default is None.

§Safety

parent_window must be a valid window handle.

§Platform-specific
source

pub fn build<T>( self, window_target: &EventLoopWindowTarget<T> ) -> Result<Window, OsError>
where T: 'static,

Builds the window.

Possible causes of error include denied permission, incompatible system, and lack of memory.

§Platform-specific
  • Web: The window is created but not inserted into the web page automatically. Please see the web platform module for more information.

Trait Implementations§

source§

impl Clone for WindowBuilder

source§

fn clone(&self) -> WindowBuilder

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for WindowBuilder

source§

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

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

impl Default for WindowBuilder

source§

fn default() -> WindowBuilder

Returns the “default value” for a type. Read more
source§

impl WindowBuilderExtStartupNotify for WindowBuilder

source§

fn with_activation_token(self, token: ActivationToken) -> WindowBuilder

Use this ActivationToken during window creation. Read more
source§

impl WindowBuilderExtWayland for WindowBuilder

source§

fn with_name( self, general: impl Into<String>, instance: impl Into<String> ) -> WindowBuilder

Build window with the given name. Read more
source§

impl WindowBuilderExtX11 for WindowBuilder

source§

fn with_x11_visual(self, visual_id: u32) -> WindowBuilder

Create this window with a specific X11 visual.
source§

fn with_x11_screen(self, screen_id: i32) -> WindowBuilder

source§

fn with_name( self, general: impl Into<String>, instance: impl Into<String> ) -> WindowBuilder

Build window with the given general and instance names. Read more
source§

fn with_override_redirect(self, override_redirect: bool) -> WindowBuilder

Build window with override-redirect flag; defaults to false. Only relevant on X11.
source§

fn with_x11_window_type( self, x11_window_types: Vec<WindowType> ) -> WindowBuilder

Build window with _NET_WM_WINDOW_TYPE hints; defaults to Normal. Only relevant on X11.
source§

fn with_base_size<S>(self, base_size: S) -> WindowBuilder
where S: Into<Size>,

Build window with base size hint. Only implemented on X11. Read more
source§

fn with_embed_parent_window(self, parent_window_id: u32) -> WindowBuilder

Embed this window into another parent window. 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
§

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

§

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.
§

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.
§

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.
§

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.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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> ToOwned for T
where T: Clone,

§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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