Struct winit::window::WindowBuilder

source ·
pub struct WindowBuilder {
    pub(crate) window: WindowAttributes,
    pub(crate) platform_specific: PlatformSpecificWindowBuilderAttributes,
}
Expand description

Object that allows building windows.

Fields§

§window: WindowAttributes

The attributes to use to create the window.

§platform_specific: PlatformSpecificWindowBuilderAttributes

Implementations§

source§

impl WindowBuilder

source

pub fn new() -> Self

Initializes a new builder with default values.

source

pub fn window_attributes(&self) -> &WindowAttributes

Get the current window attributes.

source

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

Requests the window to be of specific dimensions.

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

See Window::set_inner_size for details.

source

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

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: Into<Size>>(self, max_size: S) -> Self

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: Into<Position>>(self, position: P) -> Self

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

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

Sets the enabled window buttons.

The default is WindowButtons::all

See Window::set_enabled_buttons for details.

source

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

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

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

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

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

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 transparent(&self) -> bool

Get whether the window will support transparency.

source

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

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

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

Sets the window icon.

The default is None.

See Window::set_window_icon for details.

source

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

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 control only CSD. You can also use WINIT_WAYLAND_CSD_THEME env variable to set the theme. Possible values for env variable are: “dark” and light“.
  • 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: Into<Size>>(self, resize_increments: S) -> Self

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

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

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: 'static>( self, window_target: &EventLoopWindowTarget<T> ) -> Result<Window, OsError>

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

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 WindowBuilderExtWayland for WindowBuilder

source§

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

Build window with the given name. Read more
source§

impl WindowBuilderExtX11 for WindowBuilder

source§

fn with_x11_visual<T>(self, visual_infos: *const T) -> Self

source§

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

source§

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

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

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

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

fn with_x11_window_type(self, x11_window_types: Vec<XWindowType>) -> Self

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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 Twhere 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 Twhere 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 Twhere 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.