diff options
Diffstat (limited to 'vendor/png/src/chunk.rs')
-rw-r--r-- | vendor/png/src/chunk.rs | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/vendor/png/src/chunk.rs b/vendor/png/src/chunk.rs deleted file mode 100644 index 39578a4..0000000 --- a/vendor/png/src/chunk.rs +++ /dev/null @@ -1,98 +0,0 @@ -//! Chunk types and functions -#![allow(dead_code)] -#![allow(non_upper_case_globals)] -use core::fmt; - -#[derive(Clone, Copy, PartialEq, Eq, Hash)] -pub struct ChunkType(pub [u8; 4]); - -// -- Critical chunks -- - -/// Image header -pub const IHDR: ChunkType = ChunkType(*b"IHDR"); -/// Palette -pub const PLTE: ChunkType = ChunkType(*b"PLTE"); -/// Image data -pub const IDAT: ChunkType = ChunkType(*b"IDAT"); -/// Image trailer -pub const IEND: ChunkType = ChunkType(*b"IEND"); - -// -- Ancillary chunks -- - -/// Transparency -pub const tRNS: ChunkType = ChunkType(*b"tRNS"); -/// Background colour -pub const bKGD: ChunkType = ChunkType(*b"bKGD"); -/// Image last-modification time -pub const tIME: ChunkType = ChunkType(*b"tIME"); -/// Physical pixel dimensions -pub const pHYs: ChunkType = ChunkType(*b"pHYs"); -/// Source system's pixel chromaticities -pub const cHRM: ChunkType = ChunkType(*b"cHRM"); -/// Source system's gamma value -pub const gAMA: ChunkType = ChunkType(*b"gAMA"); -/// sRGB color space chunk -pub const sRGB: ChunkType = ChunkType(*b"sRGB"); -/// ICC profile chunk -pub const iCCP: ChunkType = ChunkType(*b"iCCP"); -/// Latin-1 uncompressed textual data -pub const tEXt: ChunkType = ChunkType(*b"tEXt"); -/// Latin-1 compressed textual data -pub const zTXt: ChunkType = ChunkType(*b"zTXt"); -/// UTF-8 textual data -pub const iTXt: ChunkType = ChunkType(*b"iTXt"); - -// -- Extension chunks -- - -/// Animation control -pub const acTL: ChunkType = ChunkType(*b"acTL"); -/// Frame control -pub const fcTL: ChunkType = ChunkType(*b"fcTL"); -/// Frame data -pub const fdAT: ChunkType = ChunkType(*b"fdAT"); - -// -- Chunk type determination -- - -/// Returns true if the chunk is critical. -pub fn is_critical(ChunkType(type_): ChunkType) -> bool { - type_[0] & 32 == 0 -} - -/// Returns true if the chunk is private. -pub fn is_private(ChunkType(type_): ChunkType) -> bool { - type_[1] & 32 != 0 -} - -/// Checks whether the reserved bit of the chunk name is set. -/// If it is set the chunk name is invalid. -pub fn reserved_set(ChunkType(type_): ChunkType) -> bool { - type_[2] & 32 != 0 -} - -/// Returns true if the chunk is safe to copy if unknown. -pub fn safe_to_copy(ChunkType(type_): ChunkType) -> bool { - type_[3] & 32 != 0 -} - -impl fmt::Debug for ChunkType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - struct DebugType([u8; 4]); - - impl fmt::Debug for DebugType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - for &c in &self.0[..] { - write!(f, "{}", char::from(c).escape_debug())?; - } - Ok(()) - } - } - - f.debug_struct("ChunkType") - .field("type", &DebugType(self.0)) - .field("critical", &is_critical(*self)) - .field("private", &is_private(*self)) - .field("reserved", &reserved_set(*self)) - .field("safecopy", &safe_to_copy(*self)) - .finish() - } -} |