Struct CompressedDeepScanLineBlock
pub struct CompressedDeepScanLineBlock { pub y_coordinate: i32, pub decompressed_sample_data_size: usize, pub compressed_pixel_offset_table: Vec<i8>, pub compressed_sample_data_le: Vec<u8> }
This Block consists of one or more deep scan lines.
Corresponds to type attribute deepscanline.
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.
decompressed_sample_data_size: usizeCount of samples.
compressed_pixel_offset_table: Vec<i8>The pixel offset table is a list of integers, one for each pixel column within the data window. Each entry in the table indicates the total number of samples required to store the pixel in it as well as all pixels to the left of it.
compressed_sample_data_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.
Implementations
impl CompressedDeepScanLineBlock
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 CompressedDeepScanLineBlock
fn clone(&self) -> Self
impl Debug for CompressedDeepScanLineBlock
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for CompressedDeepScanLineBlock
impl RefUnwindSafe for CompressedDeepScanLineBlock
impl Send for CompressedDeepScanLineBlock
impl Sync for CompressedDeepScanLineBlock
impl Unpin for CompressedDeepScanLineBlock
impl UnsafeUnpin for CompressedDeepScanLineBlock
impl UnwindSafe for CompressedDeepScanLineBlock
Blanket Implementations
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for CompressedDeepScanLineBlock
where
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for CompressedDeepScanLineBlock
where
ST: ?Sized,
DT: ?Sized,
impl<T> Any for CompressedDeepScanLineBlock
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for CompressedDeepScanLineBlock
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for CompressedDeepScanLineBlock
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for CompressedDeepScanLineBlock
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for CompressedDeepScanLineBlock
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Pointable for CompressedDeepScanLineBlock
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 CompressedDeepScanLineBlock
where
T: ?Sized,
impl<T> ToOwned for CompressedDeepScanLineBlock
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for CompressedDeepScanLineBlock
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 CompressedDeepScanLineBlock
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for CompressedDeepScanLineBlock
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>