pub struct SubtreeBuffer {
pub root: NodeRef,
pub image: Image,
pub origin: Point,
pub size: ISize,
pub from_cache: bool,
}Expand description
One rendered subtree buffer, ready to be handed to an external compositor (e.g. uploaded to a KMS/DRM plane).
image holds ONLY this subtree’s own painted content plus the blurred
backdrop baked inside any BackgroundBlur shapes — the planes below it are
not present outside those shapes, so the compositor still owns stacking.
Fields§
§root: NodeRefThe subtree root this buffer was produced from.
image: ImageThe rendered image (snapshot of the per-subtree surface).
origin: PointGlobal top-left where the compositor should place image.
size: ISizePixel size of image.
from_cache: booltrue if this buffer was returned unchanged from the cache (the subtree
and the supplied backdrop were identical to the previous call), so the
caller can skip re-uploading it to its plane.
Trait Implementations§
Source§impl Clone for SubtreeBuffer
impl Clone for SubtreeBuffer
Source§fn clone(&self) -> SubtreeBuffer
fn clone(&self) -> SubtreeBuffer
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SubtreeBuffer
impl !RefUnwindSafe for SubtreeBuffer
impl Send for SubtreeBuffer
impl Sync for SubtreeBuffer
impl Unpin for SubtreeBuffer
impl !UnwindSafe for SubtreeBuffer
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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