Struct winit::window::WindowBuilder
source · pub struct WindowBuilder { /* private fields */ }
Expand description
Object that allows building windows.
Implementations§
source§impl WindowBuilder
impl WindowBuilder
sourcepub fn window_attributes(&self) -> &WindowAttributes
pub fn window_attributes(&self) -> &WindowAttributes
Get the current window attributes.
sourcepub fn with_inner_size<S: Into<Size>>(self, size: S) -> Self
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.
sourcepub fn with_min_inner_size<S: Into<Size>>(self, min_size: S) -> Self
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.
sourcepub fn with_max_inner_size<S: Into<Size>>(self, max_size: S) -> Self
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.
sourcepub fn with_position<P: Into<Position>>(self, position: P) -> Self
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 useWindow::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.
sourcepub fn with_resizable(self, resizable: bool) -> Self
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.
Sets the enabled window buttons.
The default is WindowButtons::all
See Window::set_enabled_buttons
for details.
sourcepub fn with_title<T: Into<String>>(self, title: T) -> Self
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.
sourcepub fn with_fullscreen(self, fullscreen: Option<Fullscreen>) -> Self
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.
sourcepub fn with_maximized(self, maximized: bool) -> Self
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.
sourcepub fn with_visible(self, visible: bool) -> Self
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.
sourcepub fn with_transparent(self, transparent: bool) -> Self
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
.
sourcepub fn transparent(&self) -> bool
pub fn transparent(&self) -> bool
Get whether the window will support transparency.
sourcepub fn with_decorations(self, decorations: bool) -> Self
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.
sourcepub fn with_window_level(self, level: WindowLevel) -> Self
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.
sourcepub fn with_window_icon(self, window_icon: Option<Icon>) -> Self
pub fn with_window_icon(self, window_icon: Option<Icon>) -> Self
sourcepub fn with_theme(self, theme: Option<Theme>) -> Self
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 todark
orlight
. - iOS / Android / Web / x11 / Orbital: Ignored.
sourcepub fn with_resize_increments<S: Into<Size>>(self, resize_increments: S) -> Self
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.
sourcepub fn with_content_protected(self, protected: bool) -> Self
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.
sourcepub fn with_active(self, active: bool) -> WindowBuilder
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.
sourcepub unsafe fn with_parent_window(
self,
parent_window: Option<RawWindowHandle>
) -> Self
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
- Windows : A child window has the WS_CHILD style and is confined to the client area of its parent window. For more information, see https://docs.microsoft.com/en-us/windows/win32/winmsg/window-features#child-windows
- X11: A child window is confined to the client area of its parent window.
- Android / iOS / Wayland: Unsupported.
sourcepub fn build<T: 'static>(
self,
window_target: &EventLoopWindowTarget<T>
) -> Result<Window, OsError>
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
impl Clone for WindowBuilder
source§fn clone(&self) -> WindowBuilder
fn clone(&self) -> WindowBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WindowBuilder
impl Debug for WindowBuilder
source§impl Default for WindowBuilder
impl Default for WindowBuilder
source§fn default() -> WindowBuilder
fn default() -> WindowBuilder
source§impl WindowBuilderExtUnix for WindowBuilder
Available on x11_platform
or wayland_platform
only.
impl WindowBuilderExtUnix for WindowBuilder
x11_platform
or wayland_platform
only.source§fn with_transient_for(self, parent: &impl IsA<Window>) -> WindowBuilder
fn with_transient_for(self, parent: &impl IsA<Window>) -> WindowBuilder
parent
https://gtk-rs.org/gtk3-rs/stable/latest/docs/gdk/struct.Window.html#method.set_transient_forsource§fn with_skip_taskbar(self, skip: bool) -> WindowBuilder
fn with_skip_taskbar(self, skip: bool) -> WindowBuilder
source§fn with_transparent_draw(self, draw: bool) -> WindowBuilder
fn with_transparent_draw(self, draw: bool) -> WindowBuilder
source§fn with_double_buffered(self, double_buffered: bool) -> WindowBuilder
fn with_double_buffered(self, double_buffered: bool) -> WindowBuilder
source§fn with_rgba_visual(self, rgba_visual: bool) -> WindowBuilder
fn with_rgba_visual(self, rgba_visual: bool) -> WindowBuilder
source§fn with_app_paintable(self, app_paintable: bool) -> WindowBuilder
fn with_app_paintable(self, app_paintable: bool) -> WindowBuilder
source§fn with_default_vbox(self, add: bool) -> WindowBuilder
fn with_default_vbox(self, add: bool) -> WindowBuilder
gtk::Box
and add it as the sole child of this window.
Created by default.