pub struct UncompressedBlock {
    pub index: BlockIndex,
    pub data: ByteVec,
}
Expand description

Contains a block of pixel data and where that data should be placed in the actual image.

Fields§

§index: BlockIndex

Location of the data inside the image.

§data: ByteVec

Uncompressed pixel values of the whole block. One or more scan lines may be stored together as a scan line block. This byte vector contains all pixel rows, one after another. For each line in the tile, for each channel, the row values are contiguous. Stores all samples of the first channel, then all samples of the second channel, and so on.

Implementations§

source§

impl UncompressedBlock

source

pub fn decompress_chunk( chunk: Chunk, meta_data: &MetaData, pedantic: bool ) -> Result<Self>

Decompress the possibly compressed chunk and returns an UncompressedBlock.

source

pub fn compress_to_chunk(self, headers: &[Header]) -> Result<Chunk>

Consume this block by compressing it, returning a Chunk.

source

pub fn lines(&self, channels: &ChannelList) -> impl Iterator<Item = LineRef<'_>>

Iterate all the lines in this block. Each line contains the all samples for one of the channels.

source

pub fn collect_block_data_from_lines( channels: &ChannelList, block_index: BlockIndex, extract_line: impl FnMut(LineRefMut<'_>) ) -> Vec<u8>

Create an uncompressed block byte vector by requesting one line of samples after another.

source

pub fn from_lines( channels: &ChannelList, block_index: BlockIndex, extract_line: impl FnMut(LineRefMut<'_>) ) -> Self

Create an uncompressed block by requesting one line of samples after another.

Trait Implementations§

source§

impl Clone for UncompressedBlock

source§

fn clone(&self) -> UncompressedBlock

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 UncompressedBlock

source§

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

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

impl PartialEq<UncompressedBlock> for UncompressedBlock

source§

fn eq(&self, other: &UncompressedBlock) -> 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 UncompressedBlock

source§

impl StructuralEq for UncompressedBlock

source§

impl StructuralPartialEq for UncompressedBlock

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.