Struct CompressedScanLineBlock
pub struct CompressedScanLineBlock { pub y_coordinate: i32, pub compressed_pixels_le: Vec<u8> }
A Block of possibly compressed flat scan lines.
Corresponds to type attribute scanlineimage.
The byte data is in little-endian format,
as these bytes will be written into the file directly.
Fields
y_coordinate: i32The block's y coordinate is the pixel space y coordinate of the top scan line in the block. The top scan line block in the image is aligned with the top edge of the data window.
compressed_pixels_le: Vec<u8>One or more scan lines may be stored together as a scan line block. The number of scan lines per block depends on how the pixel data are compressed. For each line in the tile, for each channel, the row values are contiguous. This data is compressed and in little-endian format.
Implementations
impl CompressedScanLineBlock
fn write<W: Write>(&self, write: &mut W) -> UnitResultWithout validation, write this instance to the byte stream.
fn read(read: &mut impl Read, max_block_byte_size: usize) -> Result<Self>Read the value without validating.
Trait Implementations
impl Clone for CompressedScanLineBlock
fn clone(&self) -> Self
impl Debug for CompressedScanLineBlock
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for CompressedScanLineBlock
impl RefUnwindSafe for CompressedScanLineBlock
impl Send for CompressedScanLineBlock
impl Sync for CompressedScanLineBlock
impl Unpin for CompressedScanLineBlock
impl UnsafeUnpin for CompressedScanLineBlock
impl UnwindSafe for CompressedScanLineBlock
Blanket Implementations
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for CompressedScanLineBlock
where
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for CompressedScanLineBlock
where
ST: ?Sized,
DT: ?Sized,
impl<T> Any for CompressedScanLineBlock
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for CompressedScanLineBlock
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for CompressedScanLineBlock
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for CompressedScanLineBlock
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for CompressedScanLineBlock
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Pointable for CompressedScanLineBlock
const ALIGN: usize = _;type Init = T;unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T> Read<Exclusive, BecauseExclusive> for CompressedScanLineBlock
where
T: ?Sized,
impl<T> ToOwned for CompressedScanLineBlock
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for CompressedScanLineBlock
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for CompressedScanLineBlock
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for CompressedScanLineBlock
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>