pub struct WindowAttributes {Show 20 fields
pub inner_size: Option<Size>,
pub min_inner_size: Option<Size>,
pub max_inner_size: 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 resize_increments: Option<Size>,
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§
§inner_size: Option<Size>
§min_inner_size: Option<Size>
§max_inner_size: Option<Size>
§position: Option<Position>
§resizable: bool
§title: String
§maximized: bool
§visible: bool
§transparent: bool
§blur: bool
§decorations: bool
§window_icon: Option<Icon>
§preferred_theme: Option<Theme>
§resize_increments: Option<Size>
§content_protected: bool
§window_level: WindowLevel
§active: bool
§cursor: Cursor
§fullscreen: Option<Fullscreen>
Implementations§
Source§impl WindowAttributes
impl WindowAttributes
Sourcepub fn parent_window(&self) -> Option<&RawWindowHandle>
pub fn parent_window(&self) -> Option<&RawWindowHandle>
Get the parent window stored on the 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::request_inner_size
for details.
Examples found in repository?
More examples
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
fn main() -> Result<(), impl std::error::Error> {
use std::collections::HashMap;
use rio_window::dpi::{LogicalPosition, LogicalSize, Position};
use rio_window::event::{ElementState, Event, KeyEvent, WindowEvent};
use rio_window::event_loop::{ActiveEventLoop, EventLoop};
use rio_window::raw_window_handle::HasRawWindowHandle;
use rio_window::window::Window;
#[path = "util/fill.rs"]
mod fill;
fn spawn_child_window(parent: &Window, event_loop: &ActiveEventLoop) -> Window {
let parent = parent.raw_window_handle().unwrap();
let mut window_attributes = Window::default_attributes()
.with_title("child window")
.with_inner_size(LogicalSize::new(200.0f32, 200.0f32))
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_visible(true);
// `with_parent_window` is unsafe. Parent window must be a valid window.
window_attributes = unsafe { window_attributes.with_parent_window(Some(parent)) };
event_loop.create_window(window_attributes).unwrap()
}
let mut windows = HashMap::new();
let event_loop: EventLoop<()> = EventLoop::new().unwrap();
let mut parent_window_id = None;
event_loop.run(move |event: Event<()>, event_loop| {
match event {
Event::Resumed => {
let attributes = Window::default_attributes()
.with_title("parent window")
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_inner_size(LogicalSize::new(640.0f32, 480.0f32));
let window = event_loop.create_window(attributes).unwrap();
parent_window_id = Some(window.id());
println!("Parent window id: {parent_window_id:?})");
windows.insert(window.id(), window);
}
Event::WindowEvent { window_id, event } => match event {
WindowEvent::CloseRequested => {
windows.clear();
event_loop.exit();
}
WindowEvent::CursorEntered { device_id: _ } => {
// On x11, println when the cursor entered in a window even if the child window
// is created by some key inputs.
// the child windows are always placed at (0, 0) with size (200, 200) in the
// parent window, so we also can see this log when we move
// the cursor around (200, 200) in parent window.
println!("cursor entered in the window {window_id:?}");
}
WindowEvent::KeyboardInput {
event:
KeyEvent {
state: ElementState::Pressed,
..
},
..
} => {
let parent_window = windows.get(&parent_window_id.unwrap()).unwrap();
let child_window = spawn_child_window(parent_window, event_loop);
let child_id = child_window.id();
println!("Child window created with id: {child_id:?}");
windows.insert(child_id, child_window);
}
WindowEvent::RedrawRequested => {
if let Some(window) = windows.get(&window_id) {
fill::fill_window(window);
}
}
_ => (),
},
_ => (),
}
})
}
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.
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
fn main() -> Result<(), impl std::error::Error> {
use std::collections::HashMap;
use rio_window::dpi::{LogicalPosition, LogicalSize, Position};
use rio_window::event::{ElementState, Event, KeyEvent, WindowEvent};
use rio_window::event_loop::{ActiveEventLoop, EventLoop};
use rio_window::raw_window_handle::HasRawWindowHandle;
use rio_window::window::Window;
#[path = "util/fill.rs"]
mod fill;
fn spawn_child_window(parent: &Window, event_loop: &ActiveEventLoop) -> Window {
let parent = parent.raw_window_handle().unwrap();
let mut window_attributes = Window::default_attributes()
.with_title("child window")
.with_inner_size(LogicalSize::new(200.0f32, 200.0f32))
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_visible(true);
// `with_parent_window` is unsafe. Parent window must be a valid window.
window_attributes = unsafe { window_attributes.with_parent_window(Some(parent)) };
event_loop.create_window(window_attributes).unwrap()
}
let mut windows = HashMap::new();
let event_loop: EventLoop<()> = EventLoop::new().unwrap();
let mut parent_window_id = None;
event_loop.run(move |event: Event<()>, event_loop| {
match event {
Event::Resumed => {
let attributes = Window::default_attributes()
.with_title("parent window")
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_inner_size(LogicalSize::new(640.0f32, 480.0f32));
let window = event_loop.create_window(attributes).unwrap();
parent_window_id = Some(window.id());
println!("Parent window id: {parent_window_id:?})");
windows.insert(window.id(), window);
}
Event::WindowEvent { window_id, event } => match event {
WindowEvent::CloseRequested => {
windows.clear();
event_loop.exit();
}
WindowEvent::CursorEntered { device_id: _ } => {
// On x11, println when the cursor entered in a window even if the child window
// is created by some key inputs.
// the child windows are always placed at (0, 0) with size (200, 200) in the
// parent window, so we also can see this log when we move
// the cursor around (200, 200) in parent window.
println!("cursor entered in the window {window_id:?}");
}
WindowEvent::KeyboardInput {
event:
KeyEvent {
state: ElementState::Pressed,
..
},
..
} => {
let parent_window = windows.get(&parent_window_id.unwrap()).unwrap();
let child_window = spawn_child_window(parent_window, event_loop);
let child_id = child_window.id();
println!("Child window created with id: {child_id:?}");
windows.insert(child_id, child_window);
}
WindowEvent::RedrawRequested => {
if let Some(window) = windows.get(&window_id) {
fill::fill_window(window);
}
}
_ => (),
},
_ => (),
}
})
}
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.
Examples found in repository?
More examples
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
fn main() -> Result<(), impl std::error::Error> {
use std::collections::HashMap;
use rio_window::dpi::{LogicalPosition, LogicalSize, Position};
use rio_window::event::{ElementState, Event, KeyEvent, WindowEvent};
use rio_window::event_loop::{ActiveEventLoop, EventLoop};
use rio_window::raw_window_handle::HasRawWindowHandle;
use rio_window::window::Window;
#[path = "util/fill.rs"]
mod fill;
fn spawn_child_window(parent: &Window, event_loop: &ActiveEventLoop) -> Window {
let parent = parent.raw_window_handle().unwrap();
let mut window_attributes = Window::default_attributes()
.with_title("child window")
.with_inner_size(LogicalSize::new(200.0f32, 200.0f32))
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_visible(true);
// `with_parent_window` is unsafe. Parent window must be a valid window.
window_attributes = unsafe { window_attributes.with_parent_window(Some(parent)) };
event_loop.create_window(window_attributes).unwrap()
}
let mut windows = HashMap::new();
let event_loop: EventLoop<()> = EventLoop::new().unwrap();
let mut parent_window_id = None;
event_loop.run(move |event: Event<()>, event_loop| {
match event {
Event::Resumed => {
let attributes = Window::default_attributes()
.with_title("parent window")
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_inner_size(LogicalSize::new(640.0f32, 480.0f32));
let window = event_loop.create_window(attributes).unwrap();
parent_window_id = Some(window.id());
println!("Parent window id: {parent_window_id:?})");
windows.insert(window.id(), window);
}
Event::WindowEvent { window_id, event } => match event {
WindowEvent::CloseRequested => {
windows.clear();
event_loop.exit();
}
WindowEvent::CursorEntered { device_id: _ } => {
// On x11, println when the cursor entered in a window even if the child window
// is created by some key inputs.
// the child windows are always placed at (0, 0) with size (200, 200) in the
// parent window, so we also can see this log when we move
// the cursor around (200, 200) in parent window.
println!("cursor entered in the window {window_id:?}");
}
WindowEvent::KeyboardInput {
event:
KeyEvent {
state: ElementState::Pressed,
..
},
..
} => {
let parent_window = windows.get(&parent_window_id.unwrap()).unwrap();
let child_window = spawn_child_window(parent_window, event_loop);
let child_id = child_window.id();
println!("Child window created with id: {child_id:?}");
windows.insert(child_id, child_window);
}
WindowEvent::RedrawRequested => {
if let Some(window) = windows.get(&window_id) {
fill::fill_window(window);
}
}
_ => (),
},
_ => (),
}
})
}
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
fn create_window(
&mut self,
event_loop: &ActiveEventLoop,
_tab_id: Option<String>,
) -> Result<WindowId, Box<dyn Error>> {
// TODO read-out activation token.
#[allow(unused_mut)]
let mut window_attributes = Window::default_attributes()
.with_title("Winit window")
.with_transparent(true)
.with_window_icon(Some(self.icon.clone()));
#[cfg(any(x11_platform, wayland_platform))]
if let Some(token) = event_loop.read_token_from_env() {
startup_notify::reset_activation_token_env();
info!("Using token {:?} to activate a window", token);
window_attributes = window_attributes.with_activation_token(token);
}
#[cfg(macos_platform)]
if let Some(tab_id) = _tab_id {
window_attributes = window_attributes.with_tabbing_identifier(&tab_id);
}
#[cfg(web_platform)]
{
use rio_window::platform::web::WindowAttributesExtWebSys;
window_attributes = window_attributes.with_append(true);
}
let window = event_loop.create_window(window_attributes)?;
#[cfg(ios_platform)]
{
use rio_window::platform::ios::WindowExtIOS;
window.recognize_doubletap_gesture(true);
window.recognize_pinch_gesture(true);
window.recognize_rotation_gesture(true);
window.recognize_pan_gesture(true, 2, 2);
}
let window_state = WindowState::new(self, window)?;
let window_id = window_state.window.id();
info!("Created new window with id={window_id:?}");
self.windows.insert(window_id, window_state);
Ok(window_id)
}
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.
Examples found in repository?
15 16 17 18 19 20 21 22 23 24 25 26
fn spawn_child_window(parent: &Window, event_loop: &ActiveEventLoop) -> Window {
let parent = parent.raw_window_handle().unwrap();
let mut window_attributes = Window::default_attributes()
.with_title("child window")
.with_inner_size(LogicalSize::new(200.0f32, 200.0f32))
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_visible(true);
// `with_parent_window` is unsafe. Parent window must be a valid window.
window_attributes = unsafe { window_attributes.with_parent_window(Some(parent)) };
event_loop.create_window(window_attributes).unwrap()
}
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
.
Examples found in repository?
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
fn create_window(
&mut self,
event_loop: &ActiveEventLoop,
_tab_id: Option<String>,
) -> Result<WindowId, Box<dyn Error>> {
// TODO read-out activation token.
#[allow(unused_mut)]
let mut window_attributes = Window::default_attributes()
.with_title("Winit window")
.with_transparent(true)
.with_window_icon(Some(self.icon.clone()));
#[cfg(any(x11_platform, wayland_platform))]
if let Some(token) = event_loop.read_token_from_env() {
startup_notify::reset_activation_token_env();
info!("Using token {:?} to activate a window", token);
window_attributes = window_attributes.with_activation_token(token);
}
#[cfg(macos_platform)]
if let Some(tab_id) = _tab_id {
window_attributes = window_attributes.with_tabbing_identifier(&tab_id);
}
#[cfg(web_platform)]
{
use rio_window::platform::web::WindowAttributesExtWebSys;
window_attributes = window_attributes.with_append(true);
}
let window = event_loop.create_window(window_attributes)?;
#[cfg(ios_platform)]
{
use rio_window::platform::ios::WindowExtIOS;
window.recognize_doubletap_gesture(true);
window.recognize_pinch_gesture(true);
window.recognize_rotation_gesture(true);
window.recognize_pan_gesture(true, 2, 2);
}
let window_state = WindowState::new(self, window)?;
let window_id = window_state.window.id();
info!("Created new window with id={window_id:?}");
self.windows.insert(window_id, window_state);
Ok(window_id)
}
Sourcepub fn with_blur(self, blur: bool) -> Self
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.
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
Examples found in repository?
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
fn create_window(
&mut self,
event_loop: &ActiveEventLoop,
_tab_id: Option<String>,
) -> Result<WindowId, Box<dyn Error>> {
// TODO read-out activation token.
#[allow(unused_mut)]
let mut window_attributes = Window::default_attributes()
.with_title("Winit window")
.with_transparent(true)
.with_window_icon(Some(self.icon.clone()));
#[cfg(any(x11_platform, wayland_platform))]
if let Some(token) = event_loop.read_token_from_env() {
startup_notify::reset_activation_token_env();
info!("Using token {:?} to activate a window", token);
window_attributes = window_attributes.with_activation_token(token);
}
#[cfg(macos_platform)]
if let Some(tab_id) = _tab_id {
window_attributes = window_attributes.with_tabbing_identifier(&tab_id);
}
#[cfg(web_platform)]
{
use rio_window::platform::web::WindowAttributesExtWebSys;
window_attributes = window_attributes.with_append(true);
}
let window = event_loop.create_window(window_attributes)?;
#[cfg(ios_platform)]
{
use rio_window::platform::ios::WindowExtIOS;
window.recognize_doubletap_gesture(true);
window.recognize_pinch_gesture(true);
window.recognize_rotation_gesture(true);
window.recognize_pan_gesture(true, 2, 2);
}
let window_state = WindowState::new(self, window)?;
let window_id = window_state.window.id();
info!("Created new window with id={window_id:?}");
self.windows.insert(window_id, window_state);
Ok(window_id)
}
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 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 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) -> Self
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.
Sourcepub fn with_cursor(self, cursor: impl Into<Cursor>) -> Self
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.
Sourcepub unsafe fn with_parent_window(
self,
parent_window: Option<RawWindowHandle>,
) -> Self
pub unsafe fn with_parent_window( self, parent_window: Option<RawWindowHandle>, ) -> Self
Examples found in repository?
15 16 17 18 19 20 21 22 23 24 25 26
fn spawn_child_window(parent: &Window, event_loop: &ActiveEventLoop) -> Window {
let parent = parent.raw_window_handle().unwrap();
let mut window_attributes = Window::default_attributes()
.with_title("child window")
.with_inner_size(LogicalSize::new(200.0f32, 200.0f32))
.with_position(Position::Logical(LogicalPosition::new(0.0, 0.0)))
.with_visible(true);
// `with_parent_window` is unsafe. Parent window must be a valid window.
window_attributes = unsafe { window_attributes.with_parent_window(Some(parent)) };
event_loop.create_window(window_attributes).unwrap()
}
Trait Implementations§
Source§impl Clone for WindowAttributes
impl Clone for WindowAttributes
Source§fn clone(&self) -> WindowAttributes
fn clone(&self) -> WindowAttributes
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for WindowAttributes
impl Debug for WindowAttributes
Source§impl Default for WindowAttributes
impl Default for WindowAttributes
Source§fn default() -> WindowAttributes
fn default() -> WindowAttributes
Source§impl WindowAttributesExtMacOS for WindowAttributes
impl WindowAttributesExtMacOS for WindowAttributes
Source§fn with_movable_by_window_background(
self,
movable_by_window_background: bool,
) -> Self
fn with_movable_by_window_background( self, movable_by_window_background: bool, ) -> Self
Source§fn with_titlebar_transparent(self, titlebar_transparent: bool) -> Self
fn with_titlebar_transparent(self, titlebar_transparent: bool) -> Self
Source§fn with_fullsize_content_view(self, fullsize_content_view: bool) -> Self
fn with_fullsize_content_view(self, fullsize_content_view: bool) -> Self
fn with_disallow_hidpi(self, disallow_hidpi: bool) -> Self
fn with_has_shadow(self, has_shadow: bool) -> Self
Source§fn with_accepts_first_mouse(self, accepts_first_mouse: bool) -> Self
fn with_accepts_first_mouse(self, accepts_first_mouse: bool) -> Self
Source§fn with_tabbing_identifier(self, tabbing_identifier: &str) -> Self
fn with_tabbing_identifier(self, tabbing_identifier: &str) -> Self
Source§fn with_option_as_alt(self, option_as_alt: OptionAsAlt) -> Self
fn with_option_as_alt(self, option_as_alt: OptionAsAlt) -> Self
Source§fn with_unified_titlebar(self, unified_titlebar: bool) -> Self
fn with_unified_titlebar(self, unified_titlebar: bool) -> Self
WindowExtMacOS::set_unified_titlebar
for details on what this means if set.Source§impl WindowAttributesExtStartupNotify for WindowAttributes
impl WindowAttributesExtStartupNotify for WindowAttributes
Source§fn with_activation_token(self, token: ActivationToken) -> Self
fn with_activation_token(self, token: ActivationToken) -> Self
ActivationToken
during window creation. Read moreSource§impl WindowAttributesExtWebSys for WindowAttributes
impl WindowAttributesExtWebSys for WindowAttributes
Source§fn with_canvas(self, canvas: Option<HtmlCanvasElement>) -> Self
fn with_canvas(self, canvas: Option<HtmlCanvasElement>) -> Self
HtmlCanvasElement
to be used for this Window
. If None
,
WindowAttributes::default()
will create one. Read moreSource§fn with_prevent_default(self, prevent_default: bool) -> Self
fn with_prevent_default(self, prevent_default: bool) -> Self
event.preventDefault()
should be called on events on the
canvas that have side effects. Read moreSource§fn with_focusable(self, focusable: bool) -> Self
fn with_focusable(self, focusable: bool) -> Self
Source§fn with_append(self, append: bool) -> Self
fn with_append(self, append: bool) -> Self
Source§impl WindowAttributesExtWindows for WindowAttributes
impl WindowAttributesExtWindows for WindowAttributes
Source§fn with_owner_window(self, parent: HWND) -> Self
fn with_owner_window(self, parent: HWND) -> Self
WindowAttributes::with_parent_window
isn’t called or set to None
.
Can be used in combination with
WindowExtWindows::set_enable(false)
on the owner
window to create a modal dialog box. Read moreSource§fn with_taskbar_icon(self, taskbar_icon: Option<Icon>) -> Self
fn with_taskbar_icon(self, taskbar_icon: Option<Icon>) -> Self
ICON_BIG
. A good ceiling here is 256x256.Source§fn with_no_redirection_bitmap(self, flag: bool) -> Self
fn with_no_redirection_bitmap(self, flag: bool) -> Self
WS_EX_NOREDIRECTIONBITMAP
.Source§fn with_drag_and_drop(self, flag: bool) -> Self
fn with_drag_and_drop(self, flag: bool) -> Self
CoInitializeEx
with COINIT_MULTITHREADED
instead of COINIT_APARTMENTTHREADED
) on the same thread. Note that winit may still
attempt to initialize COM API regardless of this option. Currently only fullscreen mode
does that, but there may be more in the future. If you need COM API with
COINIT_MULTITHREADED
you must initialize it before calling any winit functions. See https://docs.microsoft.com/en-us/windows/win32/api/objbase/nf-objbase-coinitialize#remarks for more information.Source§fn with_skip_taskbar(self, skip: bool) -> Self
fn with_skip_taskbar(self, skip: bool) -> Self
Source§fn with_class_name<S: Into<String>>(self, class_name: S) -> Self
fn with_class_name<S: Into<String>>(self, class_name: S) -> Self
Source§fn with_undecorated_shadow(self, shadow: bool) -> Self
fn with_undecorated_shadow(self, shadow: bool) -> Self
Source§fn with_system_backdrop(self, backdrop_type: BackdropType) -> Self
fn with_system_backdrop(self, backdrop_type: BackdropType) -> Self
Source§fn with_clip_children(self, flag: bool) -> Self
fn with_clip_children(self, flag: bool) -> Self
WS_CLIPCHILDREN
style.Source§fn with_border_color(self, color: Option<Color>) -> Self
fn with_border_color(self, color: Option<Color>) -> Self
Source§fn with_title_background_color(self, color: Option<Color>) -> Self
fn with_title_background_color(self, color: Option<Color>) -> Self
Source§fn with_title_text_color(self, color: Color) -> Self
fn with_title_text_color(self, color: Color) -> Self
Source§fn with_corner_preference(self, corners: CornerPreference) -> Self
fn with_corner_preference(self, corners: CornerPreference) -> Self
Source§fn with_cloaked(self, cloaked: bool) -> Self
fn with_cloaked(self, cloaked: bool) -> Self
Source§impl WindowAttributesExtX11 for WindowAttributes
impl WindowAttributesExtX11 for WindowAttributes
Source§fn with_x11_visual(self, visual_id: XVisualID) -> Self
fn with_x11_visual(self, visual_id: XVisualID) -> Self
fn with_x11_screen(self, screen_id: i32) -> Self
Source§fn with_override_redirect(self, override_redirect: bool) -> Self
fn with_override_redirect(self, override_redirect: bool) -> Self
Source§fn with_x11_window_type(self, x11_window_types: Vec<WindowType>) -> Self
fn with_x11_window_type(self, x11_window_types: Vec<WindowType>) -> Self
_NET_WM_WINDOW_TYPE
hints; defaults to Normal
.