pub struct Image { /* private fields */ }Expand description
A raster image. RGBA8 pixels, top-left origin, row-major. Cheap
Arc-backed clone; backends key their texture cache off
Self::content_hash so two equal Images share a GPU slot.
Implementations§
Source§impl Image
impl Image
Sourcepub fn from_rgba8(width: u32, height: u32, pixels: Vec<u8>) -> Self
pub fn from_rgba8(width: u32, height: u32, pixels: Vec<u8>) -> Self
Build from RGBA8 pixels. Panics if pixels.len() != width * height * 4. Hashes the pixel buffer + dimensions to derive a
stable content identity used for backend caching.
pub fn width(&self) -> u32
pub fn height(&self) -> u32
Sourcepub fn pixels(&self) -> &[u8] ⓘ
pub fn pixels(&self) -> &[u8] ⓘ
RGBA8 pixel buffer, length width * height * 4. Top-left origin.
Sourcepub fn content_hash(&self) -> u64
pub fn content_hash(&self) -> u64
Stable hash of (width, height, pixels). Backends use this as
the key into their per-image texture cache.
Trait Implementations§
impl Eq for Image
Auto Trait Implementations§
impl Freeze for Image
impl RefUnwindSafe for Image
impl Send for Image
impl Sync for Image
impl Unpin for Image
impl UnsafeUnpin for Image
impl UnwindSafe for Image
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.