Skip to main content

SafeAreaInsets

Struct SafeAreaInsets 

Source
pub struct SafeAreaInsets(/* private fields */);
Expand description

The window’s safe area, published by the platform backend.

A backend that knows its device insets — the notch, the status bar, the home indicator — installs them here once per window and republishes on rotation. Rust-side layers that the backend cannot inset for itself, such as the window’s snackbar and overlay hosts, read the value out of the environment and pad themselves. Backends with no such concept install nothing and SafeAreaInsets::resolve answers zero, which is the correct answer for a desktop window.

This does not replace IgnoreSafeArea: that stays the hint a backend reads to let a view span the full screen, and native chrome containers keep insetting their own content. SafeAreaInsets exists for the layers WaterUI lays out itself.

Implementations§

Source§

impl SafeAreaInsets

Source

pub fn new(insets: impl IntoComputed<EdgeInsets>) -> Self

Wraps a reactive inset signal.

Source

pub const fn signal(&self) -> &Computed<EdgeInsets>

The reactive insets carried by this scope.

Source

pub fn resolve(env: &Environment) -> Computed<EdgeInsets>

The insets in force at this position, or zero when no backend published any.

Source

pub fn resolve_with_margin( env: &Environment, margin: EdgeInsets, ) -> Computed<EdgeInsets>

The insets in force at this position plus a constant margin.

This is what an overlay layer wants: clear of the hardware, and then clear of the window edge by the theme’s own spacing.

Source

pub fn install(env: &mut Environment, insets: impl IntoComputed<EdgeInsets>)

Publishes insets to the subtree rendered from env.

Trait Implementations§

Source§

impl Clone for SafeAreaInsets

Source§

fn clone(&self) -> SafeAreaInsets

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SafeAreaInsets

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> IdentifiableExt for T

Source§

fn use_id<F, Id>(self, f: F) -> UseId<Self, F>
where F: Fn(&Self) -> Id, Id: Ord + Hash,

Wraps the value in a UseId with the provided identification function.
Source§

fn self_id(self) -> SelfId<Self>

Wraps the value in a SelfId, making the value serve as its own identifier.
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.