This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

1use shapemaker::*; 2 3pub fn shapes_shed() -> Canvas { 4 let mut canvas = Canvas::with_layers(vec![]); 5 6 canvas.set_grid_size(3, 3); 7 canvas.set_background(Color::White); 8 9 canvas.layer_unchecked("root").add_objects([ 10 Object::BigCircle(Point(0, 0)).colored(Color::Black), 11 Object::CurveOutward(Point(1, 1), Point(2, 0), 5.0).colored(Color::Black), 12 Object::CurveInward(Point(2, 1), Point(3, 0), 5.0).colored(Color::Black), 13 Object::SmallCircle(Point(0, 1)).colored(Color::Black), 14 Object::Line(Point(1, 1), Point(2, 2), 5.0).colored(Color::Black), 15 Object::Rectangle(Point(0, 2), Point(0, 2)).colored(Color::Black), 16 Object::Dot(Point(2, 3)).colored(Color::Black), 17 Object::Polygon( 18 Point(2, 1), 19 vec![ 20 LineSegment::Straight(Point(3, 1)), 21 LineSegment::Straight(Point(3, 2)), 22 ], 23 ) 24 .colored(Color::Black), 25 Object::Text(Point(0, 0), "test".into(), 5.0).colored(Color::Black), 26 ]); 27 28 canvas 29} 30 31pub fn colors_shed() -> Canvas { 32 let mut canvas = Canvas::with_layers(vec!["circles"]); 33 canvas.set_grid_size(3, 3); 34 canvas.canvas_outer_padding = 0; 35 canvas.set_background(Color::White); 36 37 let all_colors = vec![ 38 Color::Blue, 39 Color::Cyan, 40 Color::Yellow, 41 Color::Orange, 42 Color::Red, 43 Color::Brown, 44 Color::Purple, 45 Color::Pink, 46 Color::Green, 47 ]; 48 49 for (color, point) in std::iter::zip(all_colors, canvas.world_region) { 50 Object::Rectangle(point, point) 51 .colored(color) 52 .add_to(canvas.root()); 53 } 54 55 canvas 56} 57 58pub fn grid() -> Canvas { 59 let mut canvas = Canvas::with_layers(vec![]); 60 canvas.set_grid_size(3, 3); 61 canvas.set_background(Color::White); 62 63 for point in canvas.world_region { 64 Object::Dot(point) 65 .colored(Color::Black) 66 .add_to(canvas.root()); 67 } 68 69 canvas 70} 71 72fn main() { 73 grid() 74 .render_to_svg_file("grid.svg") 75 .expect("Failed to render grid"); 76 colors_shed() 77 .render_to_svg_file("colorshed.svg") 78 .expect("Failed to render colors_shed"); 79 shapes_shed() 80 .render_to_svg_file("shapeshed.svg") 81 .expect("Failed to render shapes_shed"); 82 shapes_shed() 83 .render_to_png("shapeshed.png", 1000) 84 .expect("Failed to render shapes_shed as PNG"); 85} 86 87#[test] 88fn test_grid() { 89 use insta; 90 insta::assert_snapshot! { grid().render_to_svg_string().unwrap() } 91} 92 93#[test] 94fn test_colors_shed() { 95 use insta; 96 insta::assert_snapshot! { colors_shed().render_to_svg_string().unwrap() } 97} 98 99#[test] 100fn test_shapes_shed() { 101 use insta; 102 insta::assert_snapshot! { shapes_shed().render_to_svg_string().unwrap() } 103}