pub struct CornerInsets {
pub top_left: CornerInset,
pub top_right: CornerInset,
pub bottom_left: CornerInset,
pub bottom_right: CornerInset,
}Expand description
Window-control footprints at the four window corners, in logical pixels.
- Values are logical px (see the module docs).
- Corners are physical: frust has no RTL layout, so the shell resolves direction. In an RTL locale the iPadOS window control lands top-RIGHT.
- Each value is the extent by which a system window control protrudes
beyond the safe-area rectangle at that corner:
widthis measured inward from the safe area’s vertical edge,heightinward from its horizontal edge. A widget whose content band starts at the safe-area top therefore overlaps the corner iffheight > 0.0– whether it self-insets the top (readspadding().top) or sits under a top-consumingSafeArea(reads 0) – because in both cases the control’s bottom edge is safe-area-top +height. - Corners are never consumed and never part of
WindowInsets::padding;WindowInsets::consumingleaves them alone. - Today only the iOS shell reports them (the iPadOS 26+ window control). Android, desktop, web and iOS < 26 leave them zero.
- Accepted gap: a bar that does not consume the horizontal safe-area insets under-shifts for a control on a notched edge (no platform draws one there).
- Bars shift for overlap only when spanning the window’s left/right edges
(typical of app bars at the top). Content hosted in a detail pane, sheet,
dialog, or below other content still receives the window-wide corner values
(corners are never consumed; layout cannot see its window-space origin) and
would over-shift. Shipped bars expose
corner_shift(false)as the author’s opt-out; no automatic detection exists.
Fields§
§top_left: CornerInsetTop-left corner footprint.
top_right: CornerInsetTop-right corner footprint.
bottom_left: CornerInsetBottom-left corner footprint.
bottom_right: CornerInsetBottom-right corner footprint.
Implementations§
Source§impl CornerInsets
impl CornerInsets
Sourcepub const ZERO: CornerInsets
pub const ZERO: CornerInsets
No window control at any corner (the default).
Sourcepub const fn new(
top_left: CornerInset,
top_right: CornerInset,
bottom_left: CornerInset,
bottom_right: CornerInset,
) -> Self
pub const fn new( top_left: CornerInset, top_right: CornerInset, bottom_left: CornerInset, bottom_right: CornerInset, ) -> Self
Construct from the four corner footprints.
Trait Implementations§
Source§impl Clone for CornerInsets
impl Clone for CornerInsets
impl Copy for CornerInsets
Source§impl Debug for CornerInsets
impl Debug for CornerInsets
Source§impl Default for CornerInsets
impl Default for CornerInsets
Source§impl PartialEq for CornerInsets
impl PartialEq for CornerInsets
impl StructuralPartialEq for CornerInsets
Auto Trait Implementations§
impl Freeze for CornerInsets
impl RefUnwindSafe for CornerInsets
impl Send for CornerInsets
impl Sync for CornerInsets
impl Unpin for CornerInsets
impl UnsafeUnpin for CornerInsets
impl UnwindSafe for CornerInsets
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.