Struct rerun::external::eframe::WindowAttributes
pub struct WindowAttributes {Show 22 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(crate) parent_window: Option<SendSyncRawWindowHandle>,
pub fullscreen: Option<Fullscreen>,
pub(crate) platform_specific: PlatformSpecificWindowAttributes,
}
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
§parent_window: Option<SendSyncRawWindowHandle>
§fullscreen: Option<Fullscreen>
§platform_specific: PlatformSpecificWindowAttributes
Implementations§
§impl WindowAttributes
impl WindowAttributes
pub fn new() -> WindowAttributes
👎Deprecated: use Window::default_attributes
instead
pub fn new() -> WindowAttributes
Window::default_attributes
insteadInitializes new attributes with default values.
§impl WindowAttributes
impl WindowAttributes
pub fn parent_window(&self) -> Option<&RawWindowHandle>
pub fn parent_window(&self) -> Option<&RawWindowHandle>
Get the parent window stored on the attributes.
pub fn with_inner_size<S>(self, size: S) -> WindowAttributeswhere
S: Into<Size>,
pub fn with_inner_size<S>(self, size: S) -> WindowAttributeswhere
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) -> WindowAttributeswhere
S: Into<Size>,
pub fn with_min_inner_size<S>(self, min_size: S) -> WindowAttributeswhere
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) -> WindowAttributeswhere
S: Into<Size>,
pub fn with_max_inner_size<S>(self, max_size: S) -> WindowAttributeswhere
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) -> WindowAttributeswhere
P: Into<Position>,
pub fn with_position<P>(self, position: P) -> WindowAttributeswhere
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_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.
pub fn with_resizable(self, resizable: bool) -> WindowAttributes
pub fn with_resizable(self, resizable: bool) -> WindowAttributes
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) -> WindowAttributes
pub fn with_title<T>(self, title: T) -> WindowAttributes
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>) -> WindowAttributes
pub fn with_fullscreen(self, fullscreen: Option<Fullscreen>) -> WindowAttributes
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) -> WindowAttributes
pub fn with_maximized(self, maximized: bool) -> WindowAttributes
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) -> WindowAttributes
pub fn with_visible(self, visible: bool) -> WindowAttributes
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) -> WindowAttributes
pub fn with_transparent(self, transparent: bool) -> WindowAttributes
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) -> WindowAttributes
pub fn with_blur(self, blur: bool) -> WindowAttributes
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) -> WindowAttributes
pub fn with_decorations(self, decorations: bool) -> WindowAttributes
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) -> WindowAttributes
pub fn with_window_level(self, level: WindowLevel) -> WindowAttributes
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>) -> WindowAttributes
pub fn with_window_icon(self, window_icon: Option<Icon>) -> WindowAttributes
Sets the window icon.
The default is None
.
See [Window::set_window_icon
] for details.
pub fn with_theme(self, theme: Option<Theme>) -> WindowAttributes
pub fn with_theme(self, theme: Option<Theme>) -> WindowAttributes
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 todark
orlight
. - iOS / Android / Web / x11 / Orbital: Ignored.
pub fn with_resize_increments<S>(self, resize_increments: S) -> WindowAttributeswhere
S: Into<Size>,
pub fn with_resize_increments<S>(self, resize_increments: S) -> WindowAttributeswhere
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) -> WindowAttributes
pub fn with_content_protected(self, protected: bool) -> WindowAttributes
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.
pub fn with_active(self, active: bool) -> WindowAttributes
pub fn with_active(self, active: bool) -> WindowAttributes
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 with_cursor(self, cursor: impl Into<Cursor>) -> WindowAttributes
pub fn with_cursor(self, cursor: impl Into<Cursor>) -> WindowAttributes
Modifies the cursor icon of the window.
The default is [CursorIcon::Default
].
See [Window::set_cursor()
] for more details.
pub unsafe fn with_parent_window(
self,
parent_window: Option<RawWindowHandle>
) -> WindowAttributes
pub unsafe fn with_parent_window( self, parent_window: Option<RawWindowHandle> ) -> WindowAttributes
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 / Web: Unsupported.
Trait Implementations§
§impl Clone for WindowAttributes
impl Clone for WindowAttributes
§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 more§impl Debug for WindowAttributes
impl Debug for WindowAttributes
§impl Default for WindowAttributes
impl Default for WindowAttributes
§fn default() -> WindowAttributes
fn default() -> WindowAttributes
§impl WindowAttributesExtStartupNotify for WindowAttributes
impl WindowAttributesExtStartupNotify for WindowAttributes
§fn with_activation_token(self, token: ActivationToken) -> WindowAttributes
fn with_activation_token(self, token: ActivationToken) -> WindowAttributes
ActivationToken
] during window creation. Read more§impl WindowAttributesExtWayland for WindowAttributes
impl WindowAttributesExtWayland for WindowAttributes
§impl WindowAttributesExtX11 for WindowAttributes
impl WindowAttributesExtX11 for WindowAttributes
§fn with_x11_visual(self, visual_id: u32) -> WindowAttributes
fn with_x11_visual(self, visual_id: u32) -> WindowAttributes
fn with_x11_screen(self, screen_id: i32) -> WindowAttributes
§fn with_override_redirect(self, override_redirect: bool) -> WindowAttributes
fn with_override_redirect(self, override_redirect: bool) -> WindowAttributes
§fn with_x11_window_type(
self,
x11_window_types: Vec<WindowType>
) -> WindowAttributes
fn with_x11_window_type( self, x11_window_types: Vec<WindowType> ) -> WindowAttributes
_NET_WM_WINDOW_TYPE
hints; defaults to Normal
.§fn with_base_size<S>(self, base_size: S) -> WindowAttributeswhere
S: Into<Size>,
fn with_base_size<S>(self, base_size: S) -> WindowAttributeswhere
S: Into<Size>,
§fn with_embed_parent_window(self, parent_window_id: u32) -> WindowAttributes
fn with_embed_parent_window(self, parent_window_id: u32) -> WindowAttributes
Auto Trait Implementations§
impl Freeze for WindowAttributes
impl !RefUnwindSafe for WindowAttributes
impl Send for WindowAttributes
impl Sync for WindowAttributes
impl Unpin for WindowAttributes
impl !UnwindSafe for WindowAttributes
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
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request