Skip to main content

ShadowTree

Struct ShadowTree 

Source
pub struct ShadowTree { /* private fields */ }
Expand description

The shadow tree — owns all nodes.

Implementations§

Source§

impl ShadowTree

Source

pub fn new() -> Self

Source

pub fn create_node( &mut self, id: NodeId, view_type: ViewType, initial_props: HashMap<String, PropValue>, )

Create a new node. Does NOT insert into the tree hierarchy — use append_child or insert_before for that.

Source

pub fn set_root(&mut self, id: NodeId)

Set the root node of the tree.

Source

pub fn root(&self) -> Option<NodeId>

Get the root node ID.

Source

pub fn get(&self, id: NodeId) -> Option<&ShadowNode>

Get a node by ID (immutable).

Source

pub fn get_mut(&mut self, id: NodeId) -> Option<&mut ShadowNode>

Get a node by ID (mutable).

Source

pub fn update_props(&mut self, id: NodeId, diff: &PropsDiff)

Update props on a node. Changed props go into pending_props for the mount phase to consume.

Source

pub fn append_child(&mut self, parent_id: NodeId, child_id: NodeId)

Append a child to a parent node.

Source

pub fn insert_before( &mut self, parent_id: NodeId, child_id: NodeId, before_id: NodeId, )

Insert a child before another child in a parent’s children list.

Source

pub fn remove_child(&mut self, parent_id: NodeId, child_id: NodeId)

Remove a child from its parent and the tree.

Source

pub fn set_native_handle(&mut self, id: NodeId, handle: NativeHandle)

Set the native handle for a node (after platform bridge creates the view).

Source

pub fn take_pending_props(&mut self, id: NodeId) -> PropsDiff

Take pending props (moves them out, leaving empty). Called by the mount phase after applying to native view.

Source

pub fn children_of(&self, id: NodeId) -> &[NodeId]

Get the ordered children of a node.

Source

pub fn ancestors(&self, id: NodeId) -> Vec<NodeId>

Walk ancestors from a node up to root (inclusive). Returns [root, …, parent, node_id].

Source

pub fn len(&self) -> usize

Total number of nodes in the tree.

Source

pub fn is_empty(&self) -> bool

Source

pub fn iter(&self) -> impl Iterator<Item = (&NodeId, &ShadowNode)>

Iterate all nodes (for DevTools snapshot).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more