winit::window

Struct WindowAttributes

source
pub struct WindowAttributes {
Show 20 fields pub surface_size: Option<Size>, pub min_surface_size: Option<Size>, pub max_surface_size: Option<Size>, pub surface_resize_increments: Option<Size>, pub position: Option<Position>, pub resizable: bool, pub enabled_buttons: WindowButtons, pub title: String, pub maximized: bool, pub visible: bool, pub transparent: bool, pub blur: bool, pub decorations: bool, pub window_icon: Option<Icon>, pub preferred_theme: Option<Theme>, pub content_protected: bool, pub window_level: WindowLevel, pub active: bool, pub cursor: Cursor, pub fullscreen: Option<Fullscreen>, /* private fields */
}
Expand description

Attributes used when creating a window.

Fields§

§surface_size: Option<Size>§min_surface_size: Option<Size>§max_surface_size: Option<Size>§surface_resize_increments: Option<Size>§position: Option<Position>§resizable: bool§enabled_buttons: WindowButtons§title: String§maximized: bool§visible: bool§transparent: bool§blur: bool§decorations: bool§window_icon: Option<Icon>§preferred_theme: Option<Theme>§content_protected: bool§window_level: WindowLevel§active: bool§cursor: Cursor§fullscreen: Option<Fullscreen>

Implementations§

source§

impl WindowAttributes

source

pub fn parent_window(&self) -> Option<&RawWindowHandle>

Get the parent window stored on the attributes.

source

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

Requests the surface to be of specific dimensions.

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

See Window::request_surface_size for details.

source

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

Sets the minimum dimensions the surface can have.

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

See Window::set_min_surface_size for details.

source

pub fn with_max_surface_size<S: Into<Size>>(self, max_size: S) -> Self

Sets the maximum dimensions the surface can have.

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

See Window::set_max_surface_size for details.

source

pub fn with_surface_resize_increments<S: Into<Size>>( self, surface_resize_increments: S, ) -> Self

Build window with resize increments hint.

The default is None.

See Window::set_surface_resize_increments 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 surface_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 with_blur(self, blur: bool) -> Self

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

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 fn with_cursor(self, cursor: impl Into<Cursor>) -> Self

Modifies the cursor icon of the window.

The default is CursorIcon::Default.

See Window::set_cursor() for more details.

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

Trait Implementations§

source§

impl Clone for WindowAttributes

source§

fn clone(&self) -> WindowAttributes

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 WindowAttributes

source§

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

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

impl Default for WindowAttributes

source§

fn default() -> WindowAttributes

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

impl PartialEq for WindowAttributes

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl WindowAttributesExtStartupNotify for WindowAttributes

source§

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

Use this ActivationToken during window creation. Read more
source§

impl WindowAttributesExtWayland for WindowAttributes

source§

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

Build window with the given name. Read more
source§

impl WindowAttributesExtX11 for WindowAttributes

source§

fn with_x11_visual(self, visual_id: XVisualID) -> Self

Create this window with a specific X11 visual.
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.
source§

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

Build window with _NET_WM_WINDOW_TYPE hints; defaults to Normal.
source§

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

Build window with base size hint. Read more
source§

fn with_embed_parent_window(self, parent_window_id: XWindow) -> Self

Embed this window into another parent window. Read more
source§

impl StructuralPartialEq for WindowAttributes

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

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> DowncastSync for T
where T: Any + Send + Sync,

source§

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.

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

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