pub enum Gap {
Bound,
Peer,
Group,
Section,
Pane,
Page,
}Expand description
A named separation between two things.
Pick by relationship. The size is a consequence of the name, not the other way round, and callers should never care what it is.
Variants§
Bound
A control and the thing it belongs to: an edit field and its pop-up, a checkbox and its label, an icon and the text it labels. Reads as one object.
Peer
Items of the same kind in a list: stacked checkboxes, radio buttons, rows, chips in a row. Reads as a set.
Group
A container’s inner margin, and the distance between sibling groups side by side. Reads as “inside this box”.
Section
Separated groups, and rows of actions. The first gap that reads as a deliberate break rather than as breathing room.
Pane
Panel padding and content shells. Layout, not controls.
Page
The outermost shell margin. One per screen, usually.
Implementations§
Source§impl Gap
impl Gap
Sourcepub const fn step_at(self, density: Density) -> Step
pub const fn step_at(self, density: Density) -> Step
The step this relationship resolves to at a given density.
Sourcepub const fn px_at(self, density: Density) -> u16
pub const fn px_at(self, density: Density) -> u16
Size in CSS pixels at the default base, at a given density.
Sourcepub const fn token(self) -> &'static str
pub const fn token(self) -> &'static str
The CSS custom-property name, without the leading --.
Examples found in repository?
6fn main() {
7 print!("{}", geometry_css_vars(Density::Pointer));
8 println!();
9 print!("{}", gap_css_overrides(".ui-mode-mobile", Density::Touch));
10
11 println!("\n/* the same relationships on a terminal, in cells */");
12 let t = Surface::terminal();
13 for gap in Gap::all() {
14 println!(
15 "/* {:<8} {} */",
16 gap.token().trim_start_matches("gap-"),
17 t.gap(gap, Density::Pointer)
18 );
19 }
20}Sourcepub const fn all() -> [Self; 6]
pub const fn all() -> [Self; 6]
Every relationship, tightest first.
Examples found in repository?
6fn main() {
7 print!("{}", geometry_css_vars(Density::Pointer));
8 println!();
9 print!("{}", gap_css_overrides(".ui-mode-mobile", Density::Touch));
10
11 println!("\n/* the same relationships on a terminal, in cells */");
12 let t = Surface::terminal();
13 for gap in Gap::all() {
14 println!(
15 "/* {:<8} {} */",
16 gap.token().trim_start_matches("gap-"),
17 t.gap(gap, Density::Pointer)
18 );
19 }
20}