utiles_core/
tile_data_row.rs

1//! Tile + blob data container
2use crate::tile::Tile;
3use crate::TileLike;
4
5/// `TileData` container with Tile and u8 bytes
6#[derive(Debug, Clone)]
7pub struct TileData {
8    /// tile x, y, z
9    pub xyz: Tile,
10
11    /// tile data
12    pub data: Vec<u8>,
13}
14
15impl TileData {
16    /// Create a new `TileData`
17    #[must_use]
18    pub fn new(xyz: Tile, data: Vec<u8>) -> TileData {
19        TileData { xyz, data }
20    }
21}
22
23impl TileLike for TileData {
24    fn x(&self) -> u32 {
25        self.xyz.x
26    }
27
28    fn y(&self) -> u32 {
29        self.xyz.y
30    }
31
32    fn z(&self) -> u8 {
33        self.xyz.z
34    }
35}