pub enum QoiChunk {
    Rgb {
        r: u8,
        g: u8,
        b: u8,
    },
    Rgba {
        r: u8,
        g: u8,
        b: u8,
        a: u8,
    },
    Index {
        idx: u8,
    },
    Diff {
        dr: i8,
        dg: i8,
        db: i8,
    },
    Luma {
        dg: i8,
        dr_dg: i8,
        db_dg: i8,
    },
    Run {
        run: u8,
    },
}
Expand description

An individual Chunk, representing between 1 and 62 pixel

Variants§

§

Rgb

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§r: u8
§g: u8
§b: u8
§

Rgba

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§r: u8
§g: u8
§b: u8
§a: u8
§

Index

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§idx: u8
§

Diff

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§dr: i8
§dg: i8
§db: i8
§

Luma

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§dg: i8
§dr_dg: i8
§db_dg: i8
§

Run

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§run: u8

Implementations§

source§

impl QoiChunk

source

pub fn new_run(run: u8) -> Self

Create a new Run Chunk, run needs to be in the range 0..=62

source

pub fn new_index(idx: u8) -> Self

source

pub fn new_diff(dr: i8, dg: i8, db: i8) -> Self

source

pub fn new_luma(dg: i8, dr_dg: i8, db_dg: i8) -> Self

source

pub fn new_rgb(r: u8, g: u8, b: u8) -> Self

source

pub fn new_rgba(r: u8, g: u8, b: u8, a: u8) -> Self

Trait Implementations§

source§

impl Clone for QoiChunk

source§

fn clone(&self) -> QoiChunk

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for QoiChunk

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl IntoIterator for QoiChunk

§

type Item = u8

The type of the elements being iterated over.
§

type IntoIter = ChunkBuf

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl PartialEq for QoiChunk

source§

fn eq(&self, other: &QoiChunk) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for QoiChunk

source§

impl StructuralPartialEq for QoiChunk

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.