Add a document method that returns a layer's bounding box (#273)

* Add a document method that returns a layer's bounding box

* Moved `use` to the top of the file

* Add layer local bounding box method
This commit is contained in:
Simon Desloges
2021-07-15 23:18:32 -04:00
committed by GitHub
parent 1b37e78d64
commit 6648e244a0
2 changed files with 21 additions and 0 deletions

View File

@@ -227,6 +227,16 @@ impl Document {
Ok(())
}
pub fn layer_axis_aligned_bounding_box(&self, path: &[LayerId]) -> Result<[DVec2; 2], DocumentError> {
let layer = self.layer(path)?;
Ok(layer.bounding_box(self.root.transform * layer.transform, layer.style))
}
pub fn layer_local_bounding_box(&self, path: &[LayerId]) -> Result<[DVec2; 2], DocumentError> {
let layer = self.layer(path)?;
Ok(layer.bounding_box(layer.transform, layer.style))
}
fn mark_as_dirty(&mut self, path: &[LayerId]) -> Result<(), DocumentError> {
let mut root = &mut self.root;
root.cache_dirty = true;