use rizzma::artist::{Affine2D, Artist, Patch, Rgba};
use rizzma::skia::SkiaRenderer;
fn pixel(r: &SkiaRenderer, x: u32, y: u32) -> [u8; 4] {
let p = r.pixmap().pixel(x, y).expect("pixel in bounds");
[p.red(), p.green(), p.blue(), p.alpha()]
}
#[test]
fn renders_blue_circle_into_pixmap() {
let mut renderer = SkiaRenderer::new(100, 100, 72.0);
let patch = Patch::circle([50.0, 50.0], 30.0)
.facecolor(Some(Rgba::BLUE))
.edgecolor(None);
patch.draw(&mut renderer, &Affine2D::identity());
let [r, g, b, a] = pixel(&renderer, 50, 50);
assert!(
r < 60 && g < 60 && b > 200 && a > 200,
"expected a blue pixel at the center, got [{r}, {g}, {b}, {a}]"
);
assert_eq!(
pixel(&renderer, 5, 5),
[0, 0, 0, 0],
"corner pixel should be untouched"
);
}