diff options
author | metamuffin <metamuffin@disroot.org> | 2022-10-17 22:17:24 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-10-17 22:17:24 +0200 |
commit | 0a6122efbbdea974d963e167db1d660c81ea16e7 (patch) | |
tree | 36bce185bc5b7e718e508dab44f3a5fb11459bfa /src/tiling.rs | |
parent | bcfc5827a949172aedbd6c7cd1881a47db42c46d (diff) | |
download | trash-map-0a6122efbbdea974d963e167db1d660c81ea16e7.tar trash-map-0a6122efbbdea974d963e167db1d660c81ea16e7.tar.bz2 trash-map-0a6122efbbdea974d963e167db1d660c81ea16e7.tar.zst |
a
Diffstat (limited to 'src/tiling.rs')
-rw-r--r-- | src/tiling.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/tiling.rs b/src/tiling.rs new file mode 100644 index 0000000..8ab7fc3 --- /dev/null +++ b/src/tiling.rs @@ -0,0 +1,27 @@ +use std::{fs::File, io::Read}; + +use log::info; + +use crate::render::Renderer; + +pub struct Tiler { + renderer: Renderer, +} + +impl Tiler { + pub fn new(renderer: Renderer) -> Self { + Self { renderer } + } + pub fn get_tile(&self, z: isize, x: isize, y: isize) -> Vec<u8> { + info!("generating tile (zoom={z}, x={x}, y={z})"); + let segment = self.renderer.render_segment(x, y); + segment + .save(format!("tiles/{},{},{}.png", z, x, y)) + .unwrap(); + + let mut f = File::open(format!("tiles/{},{},{}.png", z, x, y)).unwrap(); + let mut buf = Vec::new(); + f.read_to_end(&mut buf).unwrap(); + buf + } +} |