Struct pix_win_loop::WindowBuilder
pub struct WindowBuilder { /* private fields */ }Expand description
Object that allows building windows.
Implementations§
§impl WindowBuilder
impl WindowBuilder
pub fn new() -> WindowBuilder
pub fn new() -> WindowBuilder
Initializes a new builder with default values.
§impl WindowBuilder
impl WindowBuilder
pub fn window_attributes(&self) -> &WindowAttributes
pub fn window_attributes(&self) -> &WindowAttributes
Get the current window attributes.
pub fn with_inner_size<S>(self, size: S) -> WindowBuilderwhere
S: Into<Size>,
pub fn with_inner_size<S>(self, size: S) -> WindowBuilderwhere
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.
pub fn with_min_inner_size<S>(self, min_size: S) -> WindowBuilderwhere
S: Into<Size>,
pub fn with_min_inner_size<S>(self, min_size: S) -> WindowBuilderwhere
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.
pub fn with_max_inner_size<S>(self, max_size: S) -> WindowBuilderwhere
S: Into<Size>,
pub fn with_max_inner_size<S>(self, max_size: S) -> WindowBuilderwhere
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.
pub fn with_position<P>(self, position: P) -> WindowBuilderwhere
P: Into<Position>,
pub fn with_position<P>(self, position: P) -> WindowBuilderwhere
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_sizeif 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.
pub fn with_resizable(self, resizable: bool) -> WindowBuilder
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.
Sets the enabled window buttons.
The default is [WindowButtons::all]
See [Window::set_enabled_buttons] for details.
pub fn with_title<T>(self, title: T) -> WindowBuilder
pub fn with_title<T>(self, title: T) -> WindowBuilder
Sets the initial title of the window in the title bar.
The default is "winit window".
See [Window::set_title] for details.
pub fn with_fullscreen(self, fullscreen: Option<Fullscreen>) -> WindowBuilder
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.
pub fn with_maximized(self, maximized: bool) -> WindowBuilder
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.
pub fn with_visible(self, visible: bool) -> WindowBuilder
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.
pub fn with_transparent(self, transparent: bool) -> WindowBuilder
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.
pub fn with_blur(self, blur: bool) -> WindowBuilder
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.
pub fn transparent(&self) -> bool
pub fn transparent(&self) -> bool
Get whether the window will support transparency.
pub fn with_decorations(self, decorations: bool) -> WindowBuilder
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.
pub fn with_window_level(self, level: WindowLevel) -> WindowBuilder
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.
pub fn with_window_icon(self, window_icon: Option<Icon>) -> WindowBuilder
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.
pub fn with_theme(self, theme: Option<Theme>) -> WindowBuilder
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
Noneit’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_VARIANThint set todarkorlight. - iOS / Android / Web / x11 / Orbital: Ignored.
pub fn with_resize_increments<S>(self, resize_increments: S) -> WindowBuilderwhere
S: Into<Size>,
pub fn with_resize_increments<S>(self, resize_increments: S) -> WindowBuilderwhere
S: Into<Size>,
Build window with resize increments hint.
The default is None.
See [Window::set_resize_increments] for details.
pub fn with_content_protected(self, protected: bool) -> WindowBuilder
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,NSWindowSharingNoneis used but doesn’t completely prevent all apps from reading the window content, for instance, QuickTime. - iOS / Android / Web / x11 / Orbital: Ignored.
pub 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.
pub fn build<T>(
self,
window_target: &EventLoopWindowTarget<T>
) -> Result<Window, OsError>where
T: 'static,
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§
§impl Clone for WindowBuilder
impl Clone for WindowBuilder
§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 more§impl Debug for WindowBuilder
impl Debug for WindowBuilder
§impl Default for WindowBuilder
impl Default for WindowBuilder
§fn default() -> WindowBuilder
fn default() -> WindowBuilder
§impl WindowBuilderExtStartupNotify for WindowBuilder
impl WindowBuilderExtStartupNotify for WindowBuilder
§fn with_activation_token(self, token: ActivationToken) -> WindowBuilder
fn with_activation_token(self, token: ActivationToken) -> WindowBuilder
ActivationToken] during window creation. Read more§impl WindowBuilderExtWayland for WindowBuilder
impl WindowBuilderExtWayland for WindowBuilder
§impl WindowBuilderExtX11 for WindowBuilder
impl WindowBuilderExtX11 for WindowBuilder
§fn with_x11_visual(self, visual_id: u32) -> WindowBuilder
fn with_x11_visual(self, visual_id: u32) -> WindowBuilder
fn with_x11_screen(self, screen_id: i32) -> WindowBuilder
§fn with_override_redirect(self, override_redirect: bool) -> WindowBuilder
fn with_override_redirect(self, override_redirect: bool) -> WindowBuilder
§fn with_x11_window_type(
self,
x11_window_types: Vec<WindowType>
) -> WindowBuilder
fn with_x11_window_type( self, x11_window_types: Vec<WindowType> ) -> WindowBuilder
_NET_WM_WINDOW_TYPE hints; defaults to Normal. Only relevant on X11.§fn with_base_size<S>(self, base_size: S) -> WindowBuilderwhere
S: Into<Size>,
fn with_base_size<S>(self, base_size: S) -> WindowBuilderwhere
S: Into<Size>,
§fn with_embed_parent_window(self, parent_window_id: u32) -> WindowBuilder
fn with_embed_parent_window(self, parent_window_id: u32) -> WindowBuilder
Auto Trait Implementations§
impl !RefUnwindSafe for WindowBuilder
impl Send for WindowBuilder
impl Sync for WindowBuilder
impl Unpin for WindowBuilder
impl !UnwindSafe for WindowBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.