pub struct LayerTree { /* private fields */ }Expand description
The retained-mode layer tree.
Maintained across frames by the CompositorEngine.
Implementations§
Source§impl LayerTree
impl LayerTree
Sourcepub fn allocate_id(&mut self) -> LayerId
pub fn allocate_id(&mut self) -> LayerId
Allocates and returns a new layer ID.
Sourcepub fn insert_layer(&mut self, layer: Layer)
pub fn insert_layer(&mut self, layer: Layer)
Inserts a new layer into the tree.
Sourcepub fn remove_layer(&mut self, id: LayerId) -> Option<Layer>
pub fn remove_layer(&mut self, id: LayerId) -> Option<Layer>
Removes a layer from the tree.
Sourcepub fn get_layer_mut(&mut self, id: LayerId) -> Option<&mut Layer>
pub fn get_layer_mut(&mut self, id: LayerId) -> Option<&mut Layer>
Returns a mutable reference to a layer by ID.
Sourcepub fn mark_dirty(&mut self, id: LayerId)
pub fn mark_dirty(&mut self, id: LayerId)
Marks a layer as dirty (modified since last frame).
Sourcepub fn is_dirty(&self, id: LayerId, since_generation: u64) -> bool
pub fn is_dirty(&self, id: LayerId, since_generation: u64) -> bool
Returns true if the layer has been modified since the given generation.
Sourcepub fn advance_generation(&mut self)
pub fn advance_generation(&mut self)
Advances the global generation counter. Call once per frame after processing damage.
Sourcepub fn generation(&self) -> u64
pub fn generation(&self) -> u64
Returns the current global generation.
Sourcepub fn iter_layers(&self) -> impl Iterator<Item = &Layer>
pub fn iter_layers(&self) -> impl Iterator<Item = &Layer>
Iterates over all layers in the tree.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LayerTree
impl RefUnwindSafe for LayerTree
impl Send for LayerTree
impl Sync for LayerTree
impl Unpin for LayerTree
impl UnsafeUnpin for LayerTree
impl UnwindSafe for LayerTree
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.