chunk_diff/frame/
changed.rs

1use crate::util::{chunk::Chunk, rect::Rect};
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Debug)]
5pub struct Changed {
6    chunk: Chunk,
7    data: Vec<Vec<u8>>,
8}
9
10impl Changed {
11    pub fn new(chunk: Chunk, data: Vec<Vec<u8>>) -> Self {
12        Self { chunk, data }
13    }
14
15    pub fn chunk(&self) -> &Chunk {
16        &self.chunk
17    }
18
19    pub fn data(&self) -> &Vec<Vec<u8>> {
20        &self.data
21    }
22
23    pub fn apply(&self, data: &mut [u8], full: &Rect) {
24        self.chunk.apply(data, &self.data, full);
25    }
26}