+
+ let grid = Grid {
+ size: dimen!(10, 10),
+ scale: dimen!(30.0, 30.0),
+ cells: vec!(vec!(false; 10); 10),
+ };
+
+ let offset = point!(200, 200);
+ let size = grid.scale;
+ for x in 0..grid.size.width {
+ for y in 0..grid.size.height {
+ let col = (32 + 32 * ((x + y) % 2)) as u8;
+ renderer.canvas().set_draw_color((col, col, col));
+ renderer.canvas().fill_rect(sdl2::rect::Rect::new(
+ offset.x + x as i32 * size.width as i32,
+ offset.y + y as i32 * size.height as i32,
+ size.width as u32,
+ size.height as u32)).unwrap();
+ }
+ }
+
+ let offsetf = point!(offset.x as f64, offset.y as f64);
+// let p1 = point!(23.0, 16.0);
+ let p1 = point!(300.0 / 2.0, 300.0 / 2.0);
+ let p2 = {
+ //let p = point!(78.0*3.0, 54.0*3.0);
+ let p = self.mouse - offset;
+ point!(p.x as f64, p.y as f64)
+ };
+ for p in grid.grid_coordinates_on_line(p1, p2) {
+ renderer.canvas().set_draw_color((0, 96, 0));
+ renderer.canvas().fill_rect(sdl2::rect::Rect::new(
+ offset.x + p.x as i32 * size.width as i32,
+ offset.y + p.y as i32 * size.height as i32,
+ size.width as u32,
+ size.height as u32)).unwrap();
+ }
+ let p1 = p1 + offsetf;
+ let p2 = self.mouse;//p2 + offsetf;
+ renderer.draw_line((p1.x as i32, p1.y as i32), (p2.x as i32, p2.y as i32), (255, 255, 0));