mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-03 18:58:12 +08:00
Artboard nodes (#1328)
* Create artboard nodes * Update node when resizing artboard * Render clipped artboards * More stable feature * Do not render old artboards * Fix some issues with transforms * Fix crash when drawing rectangle * Format * Allow renaming document from Properties panel * Adjust artboard label styling * Fix document graph refresh so artboards show up * Make "Clear Artboards" coming soon * Fix displaying an infinite canvas * Show document name in node graph options bar * info!() to debug!() * Fix Properties panel not being cleared when all docs closed * Remove dead code * Remove debug logs added in this branch --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
committed by
Keavon Chambers
co-authored by
Keavon Chambers
parent
ad0dc3276e
commit
08f9be6aaf
@@ -61,9 +61,11 @@ impl MessageHandler<ArtboardMessage, &PersistentData> for ArtboardMessageHandler
|
||||
responses.add(DocumentMessage::RenderDocument);
|
||||
}
|
||||
ClearArtboards => {
|
||||
for &artboard in self.artboard_ids.iter() {
|
||||
responses.add_front(ArtboardMessage::DeleteArtboard { artboard });
|
||||
}
|
||||
// TODO: Make this remove the artboard layers from the graph (and cleanly reconnect the artwork)
|
||||
responses.add(DialogMessage::RequestComingSoonDialog { issue: None });
|
||||
// for &artboard in self.artboard_ids.iter() {
|
||||
// responses.add_front(ArtboardMessage::DeleteArtboard { artboard });
|
||||
// }
|
||||
}
|
||||
DeleteArtboard { artboard } => {
|
||||
self.artboard_ids.retain(|&id| id != artboard);
|
||||
@@ -78,11 +80,13 @@ impl MessageHandler<ArtboardMessage, &PersistentData> for ArtboardMessageHandler
|
||||
responses.add(FrontendMessage::UpdateDocumentArtboards {
|
||||
svg: r##"<rect width="100%" height="100%" fill="#ffffff" />"##.to_string(),
|
||||
})
|
||||
} else {
|
||||
let render_data = RenderData::new(&persistent_data.font_cache, ViewMode::Normal, None);
|
||||
responses.add(FrontendMessage::UpdateDocumentArtboards {
|
||||
svg: self.artboards_document.render_root(&render_data),
|
||||
});
|
||||
// TODO: Delete this whole legacy code path when cleaning up/removing the old (non-node based) artboard implementation
|
||||
// TODO: The below code was used to draw the non-node based artboards, but we still need the above code to draw the infinite canvas until the refactor is complete and all this code can be removed
|
||||
// } else {
|
||||
// let render_data = RenderData::new(&persistent_data.font_cache, ViewMode::Normal, None);
|
||||
// responses.add(FrontendMessage::UpdateDocumentArtboards {
|
||||
// svg: self.artboards_document.render_root(&render_data),
|
||||
// });
|
||||
}
|
||||
}
|
||||
ResizeArtboard { artboard, position, mut size } => {
|
||||
|
||||
Reference in New Issue
Block a user