spriterator 0.1.0-alpha.5

Generates sprite sheets from images in the specified directory.
Documentation
use image::RgbaImage;

use crate::frame::Frame;

#[derive(Debug)]
pub struct Sprite {
    image: RgbaImage,
    frames: Vec<Frame>,
}

impl Sprite {
    pub fn new(image: RgbaImage) -> Self {
        Self {
            image,
            frames: Vec::new(),
        }
    }

    pub fn get_image(&self) -> &RgbaImage {
        &self.image
    }

    pub fn get_frames(&self) -> &Vec<Frame> {
        &self.frames
    }

    pub fn add_frame(&mut self, x: u32, y: u32, width: u32, height: u32) {
        self.frames.push(Frame::new(x, y, width, height));
    }

    pub fn save(&self, path: &str) -> Result<(), Box<dyn std::error::Error>> {
        self.image.save(path)?;
        Ok(())
    }
}