pub enum CachedImageData {
Raw(Arc<Vec<u8>>),
Blob,
Snapshot,
External(ExternalImageData),
}
Expand description
Represents the backing store of an image in the cache. This storage can take several forms.
Variants§
Raw(Arc<Vec<u8>>)
A simple series of bytes, provided by the embedding and owned by WebRender. The format is stored out-of-band, currently in ImageDescriptor.
Blob
An series of commands that can be rasterized into an image via an embedding-provided callback.
The commands are stored elsewhere and this variant is used as a placeholder.
Snapshot
A stacking context for which a snapshot has been requested.
The snapshot is grabbed from GPU-side rasterized pixels so there is no CPU-side data to store here.
External(ExternalImageData)
An image owned by the embedding, and referenced by WebRender. This may take the form of a texture or a heap-allocated buffer.
Implementations§
Source§impl CachedImageData
impl CachedImageData
pub fn is_snapshot(&self) -> bool
Sourcepub fn uses_texture_cache(&self) -> bool
pub fn uses_texture_cache(&self) -> bool
Returns true if this variant of CachedImageData should go through the texture cache.
Trait Implementations§
Source§impl Clone for CachedImageData
impl Clone for CachedImageData
Source§fn clone(&self) -> CachedImageData
fn clone(&self) -> CachedImageData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CachedImageData
impl Debug for CachedImageData
Auto Trait Implementations§
impl Freeze for CachedImageData
impl RefUnwindSafe for CachedImageData
impl Send for CachedImageData
impl Sync for CachedImageData
impl Unpin for CachedImageData
impl UnwindSafe for CachedImageData
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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