1use crate::{
2 util::{read_u16, Endian},
3 ImageResult, ImageSize,
4};
5use std::io::{BufRead, Seek, SeekFrom};
6
7pub fn size<R: BufRead + Seek>(reader: &mut R) -> ImageResult<ImageSize> {
8 reader.seek(pos:SeekFrom::Start(6))?;
9
10 Ok(ImageSize {
11 width: read_u16(reader, &Endian::Little)? as usize,
12 height: read_u16(reader, &Endian::Little)? as usize,
13 })
14}
15
16pub fn matches(header: &[u8]) -> bool {
17 header.starts_with(needle:b"GIF8")
18}
19