pub struct TheRGBBuffer { /* private fields */ }Implementations§
Source§impl TheRGBBuffer
TheRGBABuffer contains the pixel buffer for a canvas or icon.
impl TheRGBBuffer
TheRGBABuffer contains the pixel buffer for a canvas or icon.
Sourcepub fn empty() -> TheRGBBuffer
pub fn empty() -> TheRGBBuffer
Create an empty buffer.
Sourcepub fn new(dim: TheDim) -> TheRGBBuffer
pub fn new(dim: TheDim) -> TheRGBBuffer
Creates a buffer of the given dimension.
Sourcepub fn from(buffer: Vec<u8>, width: u32, height: u32) -> TheRGBBuffer
pub fn from(buffer: Vec<u8>, width: u32, height: u32) -> TheRGBBuffer
Creates a buffer from existing data.
Sourcepub fn pixels_mut(&mut self) -> &mut [u8] ⓘ
pub fn pixels_mut(&mut self) -> &mut [u8] ⓘ
Gets a mutable slice of the buffer.
Sourcepub fn copy_into(&mut self, x: i32, y: i32, other: &TheRGBBuffer)
pub fn copy_into(&mut self, x: i32, y: i32, other: &TheRGBBuffer)
Copy the other buffer into this buffer at the given coordinates.
Sourcepub fn scaled(&self, new_width: i32, new_height: i32) -> TheRGBBuffer
pub fn scaled(&self, new_width: i32, new_height: i32) -> TheRGBBuffer
Creates a scaled version of the buffer.
Sourcepub fn at_f_vec3f(&self, uv: Vec2<f32>) -> Option<Vec3<f32>>
pub fn at_f_vec3f(&self, uv: Vec2<f32>) -> Option<Vec3<f32>>
Returns the pixel at the given UV coordinate as [f32;3]
Sourcepub fn at_f(&self, uv: Vec2<f32>) -> Option<[u8; 3]>
pub fn at_f(&self, uv: Vec2<f32>) -> Option<[u8; 3]>
Returns the pixel at the given UV coordinate.
Sourcepub fn at(&self, position: Vec2<i32>) -> Option<[u8; 3]>
pub fn at(&self, position: Vec2<i32>) -> Option<[u8; 3]>
Returns the pixel at the given position.
pub fn at_vec3(&self, position: Vec2<i32>) -> Option<Vec3<f32>>
Sourcepub fn pixel_index(&self, x: i32, y: i32) -> Option<usize>
pub fn pixel_index(&self, x: i32, y: i32) -> Option<usize>
Helper method to calculate the buffer index for a pixel at (x, y).
Sourcepub fn set_pixel(&mut self, x: i32, y: i32, color: &[u8; 3])
pub fn set_pixel(&mut self, x: i32, y: i32, color: &[u8; 3])
Sets the color of a pixel at (x, y).
Sourcepub fn set_pixel_vec3f(&mut self, x: i32, y: i32, color: &Vec3<f32>)
pub fn set_pixel_vec3f(&mut self, x: i32, y: i32, color: &Vec3<f32>)
Sets the color of a pixel at (x, y).
Sourcepub fn to_png(&self) -> Result<Vec<u8>, EncodingError>
pub fn to_png(&self) -> Result<Vec<u8>, EncodingError>
Convert the buffer to an RGBA PNG image.
Sourcepub fn to_rgba(&self) -> TheRGBABuffer
pub fn to_rgba(&self) -> TheRGBABuffer
Convert the buffer to an TheRGBABuffer.
Trait Implementations§
Source§impl Clone for TheRGBBuffer
impl Clone for TheRGBBuffer
Source§fn clone(&self) -> TheRGBBuffer
fn clone(&self) -> TheRGBBuffer
Returns a duplicate 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 moreSource§impl Debug for TheRGBBuffer
impl Debug for TheRGBBuffer
Source§impl Default for TheRGBBuffer
impl Default for TheRGBBuffer
Source§fn default() -> TheRGBBuffer
fn default() -> TheRGBBuffer
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for TheRGBBuffer
impl<'de> Deserialize<'de> for TheRGBBuffer
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TheRGBBuffer, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TheRGBBuffer, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for TheRGBBuffer
impl PartialEq for TheRGBBuffer
Source§impl PartialOrd for TheRGBBuffer
impl PartialOrd for TheRGBBuffer
Source§impl Serialize for TheRGBBuffer
impl Serialize for TheRGBBuffer
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for TheRGBBuffer
Auto Trait Implementations§
impl Freeze for TheRGBBuffer
impl RefUnwindSafe for TheRGBBuffer
impl Send for TheRGBBuffer
impl Sync for TheRGBBuffer
impl Unpin for TheRGBBuffer
impl UnsafeUnpin for TheRGBBuffer
impl UnwindSafe for TheRGBBuffer
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<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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().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.