use std::io::{self, Read, Seek};
mod header;
pub use self::header::*;
mod frame;
pub use self::frame::*;
mod chunk;
pub use self::chunk::*;
pub mod color;
mod helpers;
pub struct Aseprite {
pub header: Header,
pub frames: Vec<Frame>,
}
impl Aseprite {
pub fn from_read<R>(read: &mut R) -> io::Result<Aseprite>
where
R: Read + Seek,
{
let header = Header::from_read(read)?;
let mut frames = Vec::with_capacity(header.frames as usize);
for _ in 0..header.frames {
frames.push(Frame::from_read(read, &header)?);
}
Ok(Self { header, frames })
}
}
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}