Struct Elevation
pub struct Elevation {
pub window: Shadow,
pub floating: Shadow,
pub contact: Shadow,
pub floating_edge: AlphaColor<Srgb>,
pub glass_inner: Shadow,
pub glass_outer: Shadow,
pub shadow_scale: f32,
}Expand description
Elevation (docs/design-language.md, “Surfaces”): a window tile casts
one soft shadow that lifts it off the desktop ground; a floating thing
casts two, a tight contact layer that defines its edge and a wide one
that reads as distance. Bars, cards and selected controls cast none: a
selection is a lift (crate::tokens::Intents::selection).
Fields§
§window: ShadowThe soft shadow under a window tile on the desktop ground, painted at the tile’s radius.
floating: ShadowThe wide layer of a floating thing’s shadow — a menu, popover, the
palette, a sheet, quick settings, a toast, a tooltip, a dragged
object. Paint both layers with crate::surface::floating_shadow.
contact: ShadowThe tight layer at a floating surface’s foot, under the wide one: it defines the edge where the wide shadow alone reads as haze.
floating_edge: AlphaColor<Srgb>The 1 px inner hairline a floating surface draws just inside its outline: white on a dark material, black on a light one.
glass_inner: ShadowThe wheel disc’s rim light: a different vocabulary from a drop shadow, of which only the hue is read.
glass_outer: ShadowThe wheel disc’s outer bloom. Only the hue is read.
shadow_scale: f32The factor this material’s shadow was scaled by relative to the dark one, for a widget composing its own soft stack (a sprite, a ring).
Implementations§
§impl Elevation
impl Elevation
pub fn with_depth(self, depth: Depth, outline: Outline) -> Elevation
pub fn with_depth(self, depth: Depth, outline: Outline) -> Elevation
This elevation under a theme’s depth: shadows at strength; for an
outline, no shadows and the window’s and a floating thing’s outline
in outline; for none, nothing at all. The glass rim and bloom are
the wheel’s own vocabulary and stay.
Trait Implementations§
impl Copy for Elevation
impl StructuralPartialEq for Elevation
Auto Trait Implementations§
impl Freeze for Elevation
impl RefUnwindSafe for Elevation
impl Send for Elevation
impl Sync for Elevation
impl Unpin for Elevation
impl UnsafeUnpin for Elevation
impl UnwindSafe for Elevation
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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,
§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> 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>, which can then be
downcast into Box<dyn 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>, which 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> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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 more