pub struct LayoutPresentationPlan {
pub size_class: SizeClass,
pub bottom_owner: BottomOwner,
pub switcher_form: SwitcherForm,
pub split_form: SplitForm,
pub mains: Vec<SurfaceId>,
pub active_main_id: Option<SurfaceId>,
pub asides: Vec<PlanAside>,
pub aside_slots: Vec<PlanAsideSlot>,
pub floats: Vec<PlanFloat>,
pub tree: Option<LayoutTree>,
}Expand description
The stable, complete render contract a skin binds. Unlike the pure-core
DerivedLayout, this flattens the graph into the renderable
view any skin needs: ordered mains, asides (with edge + preferred size),
floats, and the full id-only tree. Derived from
the graph so the shared core output isn’t bound to one skin’s needs.
Fields§
§size_class: SizeClass§bottom_owner: BottomOwner§switcher_form: SwitcherForm§split_form: SplitForm§mains: Vec<SurfaceId>Main surface ids, in stable order.
active_main_id: Option<SurfaceId>The currently-active main (the one occupying the primary content area).
Skins drive the active-main switch from this rather than inferring it
from the tree’s Tabs.activeId. None only when there are no mains.
asides: Vec<PlanAside>Asides currently in the layout. split_form decides whether they dock
beside the main or present full-screen on compact.
aside_slots: Vec<PlanAsideSlot>Asides grouped into per-kind slots (lxapp / browser / native) with tab
order and admission visibility. Supersedes per-aside handling; asides
stays for skins that have not migrated yet.
floats: Vec<PlanFloat>Floats currently open: popups above the layout (never in the tree),
each carrying its render-relevant FloatSpec semantics.
tree: Option<LayoutTree>The full authoritative layout tree (ids only).
Trait Implementations§
Source§impl Clone for LayoutPresentationPlan
impl Clone for LayoutPresentationPlan
Source§fn clone(&self) -> LayoutPresentationPlan
fn clone(&self) -> LayoutPresentationPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more