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}