pixelar 0.1.0

Show everyone the art hidden inside your code.
Documentation
use crate::prelude::Canvas;

use super::ColorSelector;

#[derive(Debug, Default)]
pub struct DrawingContext<const H: usize, const W: usize> {
    canvas: Canvas<H, W>,
}

impl<const H: usize, const W: usize> DrawingContext<H, W> {
    pub fn canvas(&self) -> &Canvas<H, W> {
        &self.canvas
    }

    pub fn fill<C: ColorSelector>(&mut self, color: C) {
        self.canvas.fill(color)
    }

    pub fn canvas_mut(&mut self) -> &mut Canvas<H, W> {
        &mut self.canvas
    }
}

pub trait Drawable<const H: usize, const W: usize> {
    fn setup(&self, drawing_ctx: &mut DrawingContext<H, W>);
}