pub struct WindowMetrics {
pub bounds: Bounds<Pixels>,
pub viewport: Bounds<Pixels>,
pub content_size: Size<Pixels>,
pub scale_factor: f32,
pub display_id: Option<DisplayId>,
pub is_active: bool,
pub is_fullscreen: bool,
}Expand description
The state a window is presenting, sampled once from its platform window.
The getters on PlatformWindow query the operating
system, so they can only be called while the window is borrowed. A
WindowMetrics is a plain value taken from those getters at a moment in
time, which makes it cheap to publish and safe to read from another thread.
Fields§
§bounds: Bounds<Pixels>The window’s bounds in the global coordinate space, which can span displays.
viewport: Bounds<Pixels>The visible viewport in window-local logical pixels.
Unlike Self::content_size, this can shrink or move when a software
keyboard opens.
content_size: Size<Pixels>The size of the drawable area, which is the window’s full layout size.
scale_factor: f32The scale factor of the display the window is on.
display_id: Option<DisplayId>The display the window is on, when the platform reports one.
is_active: boolWhether this is the platform’s active, or focused, window.
is_fullscreen: boolWhether the window is fullscreen.
Trait Implementations§
Source§impl Clone for WindowMetrics
impl Clone for WindowMetrics
Source§fn clone(&self) -> WindowMetrics
fn clone(&self) -> WindowMetrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WindowMetrics
impl Debug for WindowMetrics
Source§impl PartialEq for WindowMetrics
impl PartialEq for WindowMetrics
impl StructuralPartialEq for WindowMetrics
Auto Trait Implementations§
impl Freeze for WindowMetrics
impl RefUnwindSafe for WindowMetrics
impl Send for WindowMetrics
impl Sync for WindowMetrics
impl Unpin for WindowMetrics
impl UnsafeUnpin for WindowMetrics
impl UnwindSafe for WindowMetrics
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CustomStyleProperty for T
impl<T> CustomStyleProperty for T
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Any so CustomStyles::get can recover the concrete type.Source§fn eq_property(&self, other: &(dyn CustomStyleProperty + 'static)) -> bool
fn eq_property(&self, other: &(dyn CustomStyleProperty + 'static)) -> bool
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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 more