mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-20 03:18:06 +08:00
Allow deleting artboards (#533)
This commit is contained in:
committed by
Keavon Chambers
parent
c4fdc28449
commit
e22030ffb2
@@ -18,9 +18,12 @@ pub enum ArtboardMessage {
|
||||
position: (f64, f64),
|
||||
size: (f64, f64),
|
||||
},
|
||||
DeleteArtboard {
|
||||
artboard: LayerId,
|
||||
},
|
||||
RenderArtboards,
|
||||
ResizeArtboard {
|
||||
artboard: Vec<LayerId>,
|
||||
artboard: LayerId,
|
||||
position: (f64, f64),
|
||||
size: (f64, f64),
|
||||
},
|
||||
|
||||
@@ -55,6 +55,13 @@ impl MessageHandler<ArtboardMessage, ()> for ArtboardMessageHandler {
|
||||
|
||||
responses.push_back(DocumentMessage::RenderDocument.into());
|
||||
}
|
||||
DeleteArtboard { artboard } => {
|
||||
self.artboard_ids.retain(|&id| id != artboard);
|
||||
|
||||
responses.push_back(ArtboardMessage::DispatchOperation(Box::new(DocumentOperation::DeleteLayer { path: vec![artboard] })).into());
|
||||
|
||||
responses.push_back(DocumentMessage::RenderDocument.into());
|
||||
}
|
||||
RenderArtboards => {
|
||||
// Render an infinite canvas if there are no artboards
|
||||
if self.artboard_ids.is_empty() {
|
||||
@@ -76,7 +83,7 @@ impl MessageHandler<ArtboardMessage, ()> for ArtboardMessageHandler {
|
||||
ResizeArtboard { artboard, position, size } => {
|
||||
responses.push_back(
|
||||
ArtboardMessage::DispatchOperation(Box::new(DocumentOperation::SetLayerTransform {
|
||||
path: artboard,
|
||||
path: vec![artboard],
|
||||
transform: DAffine2::from_scale_angle_translation(size.into(), 0., position.into()).to_cols_array(),
|
||||
}))
|
||||
.into(),
|
||||
|
||||
Reference in New Issue
Block a user