use draw::*;
use rand::rngs::SmallRng;
use rand::{Rng, SeedableRng};
#[test]
fn lines() {
let mut canvas = Canvas::new(100, 100);
let line = LineBuilder::new(50.0, 10.0)
.curve_to(50.0, 50.0, 75.0, 30.0)
.line_to(50.0, 75.0)
.build();
let drawing = Drawing::new()
.with_shape(line)
.with_style(Style::stroked(1, RGB::new(0, 0, 0)));
canvas.display_list.add(drawing);
render::save(&canvas, "tests/svg/lines.svg", SvgRenderer::new()).expect("Failed to save");
}
#[test]
fn random_circles() {
let mut canvas = Canvas::new(1000, 1000);
let mut rng = SmallRng::from_seed([0; 16]);
let mut points = vec![];
for _ in 0..10000 {
points.push(Point {
x: rng.gen_range(250, 750) as f32,
y: rng.gen_range(0, 1000) as f32,
})
}
for point in points {
let mut circle = Drawing::new().with_shape(Shape::Circle { radius: 25 });
circle.position.x = point.x;
circle.position.y = point.y;
circle.style = Style::stroked(2, Color::random());
canvas.display_list.add(circle);
}
draw::render::save(&canvas, "tests/svg/random_circles.svg", SvgRenderer::new())
.expect("Failed to save");
}