Skip to main content

Module visibility

Module visibility 

Source
Expand description

Breakpoint-based visibility helpers.

Visibility determines whether a widget should be rendered at a given breakpoint. Unlike CSS display: none vs visibility: hidden, these helpers always reclaim space — a hidden widget produces zero layout area.

§Usage

use ftui_layout::{Breakpoint, Visibility};

// Only visible at Md and above.
let vis = Visibility::visible_above(Breakpoint::Md);
assert!(!vis.is_visible(Breakpoint::Sm));
assert!(vis.is_visible(Breakpoint::Md));
assert!(vis.is_visible(Breakpoint::Lg));

// Hidden at Xs and Sm only.
let vis = Visibility::hidden_below(Breakpoint::Md);
assert!(!vis.is_visible(Breakpoint::Xs));
assert!(vis.is_visible(Breakpoint::Md));

§Invariants

  1. Always is visible at every breakpoint.
  2. Never is hidden at every breakpoint.
  3. visible_above(bp) shows at bp and all larger breakpoints.
  4. visible_below(bp) shows at bp and all smaller breakpoints.
  5. only(bp) shows at exactly one breakpoint.
  6. custom() allows arbitrary per-breakpoint bitmask.
  7. filter_rects() removes rects for hidden widgets (space reclamation).

§Failure Modes

None — all operations are infallible.

Structs§

Visibility
Breakpoint-aware visibility rule.