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}