pub struct WindowInsets {
pub safe_area: Edges<Pixels>,
pub ime: Edges<Pixels>,
pub corner_radii: Corners<Pixels>,
}Expand description
Regions of a window that are obscured or reserved by the system.
Mobile applications often share space in their window with system-specific geometry, from keyboards to camera notches. In GPUI, all this is abstracted into a single “inset” which should be overlaid on the window’s bounds. It is up to the application develop to determine how to handle these cases.
Fields§
§safe_area: Edges<Pixels>Regions covered by system UI or hardware: status bar, display
cutouts/notch, home indicator, navigation bars.
(iOS: safeAreaInsets. Android: WindowInsets of types
systemBars() | displayCutout().)
ime: Edges<Pixels>The region covered by the keyboard, when present.
(iOS: derived from keyboardWillShow/frame-change notifications.
Android: WindowInsets.Type.ime().)
corner_radii: Corners<Pixels>The radii of the window’s visible corners where the display rounds
them, and zero where corners are square or the platform can’t say.
Content inset from an edge by d lines up with the display by using a
radius of radius - d. (iOS 26+: a concentric UICornerConfiguration.)
Implementations§
Trait Implementations§
Source§impl Clone for WindowInsets
impl Clone for WindowInsets
Source§impl Debug for WindowInsets
impl Debug for WindowInsets
Source§impl Default for WindowInsets
impl Default for WindowInsets
Source§impl PartialEq for WindowInsets
impl PartialEq for WindowInsets
impl StructuralPartialEq for WindowInsets
Auto Trait Implementations§
impl Freeze for WindowInsets
impl RefUnwindSafe for WindowInsets
impl Send for WindowInsets
impl Sync for WindowInsets
impl Unpin for WindowInsets
impl UnsafeUnpin for WindowInsets
impl UnwindSafe for WindowInsets
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().