Struct HeaderRowMetrics
pub struct HeaderRowMetrics {
pub height: f64,
pub chip: f64,
pub inset: f64,
pub gap: f64,
pub gutter: f64,
}Expand description
The header row’s sizes, resolved against one theme.
Fields§
§height: f64Height of the row: metrics.header_height, never less than a shell
button in its inset.
chip: f64Side of a shell button (min_pointer_target, grown with the text).
inset: f64Inset of the shell buttons from the row’s edges (s3).
gap: f64Gap between neighbours in the row (s2).
gutter: f64Inset of a title with no leading button: the content gutter
(rhythm.group), so the title lines up with the content under it.
Implementations§
§impl HeaderRowMetrics
impl HeaderRowMetrics
pub fn resolve(theme: &Theme) -> HeaderRowMetrics
pub fn resolve(theme: &Theme) -> HeaderRowMetrics
The row for a fine pointer. A window that knows its input resolves
it with Self::resolve_for.
pub fn resolve_for(
theme: &Theme,
input: InteractionEnvironment,
) -> HeaderRowMetrics
pub fn resolve_for( theme: &Theme, input: InteractionEnvironment, ) -> HeaderRowMetrics
The row for a person using input: a shell button is a square of
the minimum target input needs, as an app’s buttons are (a coarse
pointer grows the face to it; a fine one keeps min_pointer_target
and reaches the target through its hit rect). The row keeps its
height while the grown square fits it with s1 above and below, so
touch moves nothing under the row.
pub fn leading_chip(&self, row: Rect, index: usize) -> Rect
pub fn leading_chip(&self, row: Rect, index: usize) -> Rect
A shell button’s square, index places from the leading edge of
row (0 is the corner).
pub fn trailing_chip(&self, row: Rect, index: usize) -> Rect
pub fn trailing_chip(&self, row: Rect, index: usize) -> Rect
A shell button’s square, index places from the trailing edge of
row (0 is the corner).
pub fn trailing_chip_from(&self, row: Rect, index: usize, edge: f64) -> Rect
pub fn trailing_chip_from(&self, row: Rect, index: usize, edge: f64) -> Rect
Self::trailing_chip measured edge in from the row’s trailing end: the
content gutter where the row’s controls keep the gutter its title starts at,
the inset beside a sidebar.
Trait Implementations§
§impl Clone for HeaderRowMetrics
impl Clone for HeaderRowMetrics
§fn clone(&self) -> HeaderRowMetrics
fn clone(&self) -> HeaderRowMetrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for HeaderRowMetrics
impl Debug for HeaderRowMetrics
§impl Default for HeaderRowMetrics
impl Default for HeaderRowMetrics
§fn default() -> HeaderRowMetrics
fn default() -> HeaderRowMetrics
§impl PartialEq for HeaderRowMetrics
impl PartialEq for HeaderRowMetrics
§fn eq(&self, other: &HeaderRowMetrics) -> bool
fn eq(&self, other: &HeaderRowMetrics) -> bool
self and other values to be equal, and is used by ==.impl Copy for HeaderRowMetrics
impl StructuralPartialEq for HeaderRowMetrics
Auto Trait Implementations§
impl Freeze for HeaderRowMetrics
impl RefUnwindSafe for HeaderRowMetrics
impl Send for HeaderRowMetrics
impl Sync for HeaderRowMetrics
impl Unpin for HeaderRowMetrics
impl UnsafeUnpin for HeaderRowMetrics
impl UnwindSafe for HeaderRowMetrics
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