lb_rs/model/svg/
diff.rs

1use usvg::Transform;
2
3#[derive(Clone, Default, Debug, PartialEq)]
4pub struct DiffState {
5    pub opacity_changed: bool,
6    pub transformed: Option<Transform>,
7    pub delete_changed: bool,
8    pub data_changed: bool,
9}
10
11impl DiffState {
12    /// is state dirty and require an i/o save
13    pub fn is_dirty(&self) -> bool {
14        self.data_changed
15            || self.delete_changed
16            || self.opacity_changed
17            || self.transformed.is_some()
18    }
19    pub fn new() -> Self {
20        Self { data_changed: true, ..Default::default() }
21    }
22}