diff options
author | Daniel Schadt <kingdread@gmx.de> | 2023-03-13 22:08:48 +0100 |
---|---|---|
committer | Daniel Schadt <kingdread@gmx.de> | 2023-03-13 22:08:48 +0100 |
commit | 3e694d68a685b6e22d6ab59f34090e4681849ebc (patch) | |
tree | 0e9d817d38d8d3524b459c5e8ebe4c55876e322b /src/renderer/heatmap.rs | |
parent | 3bec9ff1bcb7fb8b93693c0c93b8d42797f95e1c (diff) | |
download | hittekaart-3e694d68a685b6e22d6ab59f34090e4681849ebc.tar.gz hittekaart-3e694d68a685b6e22d6ab59f34090e4681849ebc.tar.bz2 hittekaart-3e694d68a685b6e22d6ab59f34090e4681849ebc.zip |
implement "proper" tile hunter mode
Now with fixed zoom level for the hunting.
Diffstat (limited to 'src/renderer/heatmap.rs')
-rw-r--r-- | src/renderer/heatmap.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/renderer/heatmap.rs b/src/renderer/heatmap.rs index c4af7a6..0c4f93f 100644 --- a/src/renderer/heatmap.rs +++ b/src/renderer/heatmap.rs @@ -150,7 +150,12 @@ impl super::Renderer for Renderer { /// The given callback will be called when a track has been rendered and merged into the /// accumulator, to allow for UI feedback. The passed parameter is the number of tracks that have /// been rendered since the last call. - fn prepare(zoom: u32, tracks: &[Vec<Coordinates>], tick: Sender<()>) -> Result<HeatCounter> { + fn prepare( + &self, + zoom: u32, + tracks: &[Vec<Coordinates>], + tick: Sender<()>, + ) -> Result<HeatCounter> { let mut heatcounter = TileLayer::from_pixel([0].into()); for track in tracks { @@ -183,7 +188,7 @@ impl super::Renderer for Renderer { /// /// Note that this function internally uses `rayon` for parallization. If you want to limit the /// number of threads used, set up the global [`rayon::ThreadPool`] first. - fn colorize(layer: HeatCounter, tx: Sender<RenderedTile>) -> Result<()> { + fn colorize(&self, layer: HeatCounter, tx: Sender<RenderedTile>) -> Result<()> { let max = layer.pixels().map(|l| l.0[0]).max().unwrap_or_default(); if max == 0 { return Ok(()); @@ -203,7 +208,7 @@ impl super::Renderer for Renderer { }) } - fn tile_count(layer: &HeatCounter) -> Result<u64> { + fn tile_count(&self, layer: &HeatCounter) -> Result<u64> { Ok(layer.tile_count().try_into().unwrap()) } } |