pub struct NodeData<H> {Show 16 fields
pub kind: PieceKind,
pub handle: Option<H>,
pub parent: RNode,
pub children: Vec<RNode>,
pub layout: Rc<dyn Layout>,
pub flex: Flex,
pub scope: Scope,
pub id: Option<String>,
pub a11y: A11yProps,
pub cache: Vec<((u64, u64), Size)>,
pub probe: NodeProbe,
pub needs_measure: bool,
pub last_native_frame: Option<Rect>,
pub is_boundary: bool,
pub scroll_content: Option<Size>,
pub implicit_anim: Option<AnimSpec>,
}Fields§
§kind: PieceKind§handle: Option<H>§parent: RNode§children: Vec<RNode>§layout: Rc<dyn Layout>§flex: Flex§scope: Scope§id: Option<String>§a11y: A11yPropsAccumulated accessibility annotations (§13): merged from the piece default, .a11y(),
and .id(). Stored so each set_a11y re-applies the full picture and a11y_audit
(§14.2) can diff the native tree against Day’s own expectation.
cache: Vec<((u64, u64), Size)>§probe: NodeProbe§needs_measure: bool§last_native_frame: Option<Rect>§is_boundary: bool§scroll_content: Option<Size>Scroll-content size reported by ScrollLayout (§7.6) — SCROLL nodes only. Cached so
scroll_to_target can compose edge targets (bottom = content minus viewport).
implicit_anim: Option<AnimSpec>Node-scoped implicit animation (.animation(anim), §8.4): when set, this node’s property
patches and frame changes animate even outside a with_animation. The ambient animation
(with_animation) takes precedence when both are present.
Auto Trait Implementations§
impl<H> Freeze for NodeData<H>where
H: Freeze,
impl<H> !RefUnwindSafe for NodeData<H>
impl<H> !Send for NodeData<H>
impl<H> !Sync for NodeData<H>
impl<H> Unpin for NodeData<H>where
H: Unpin,
impl<H> UnsafeUnpin for NodeData<H>where
H: UnsafeUnpin,
impl<H> !UnwindSafe for NodeData<H>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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