mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-09-09 14:40:32 +00:00
Add shifting of layers in stacks as blocks that collide and bump other layers/nodes (#1940)
* Shift nodes as blocks * Implement rubber banding * Improve upstream locking when shifting layers * WIP: Reworked shifting * WIP: Reworked node shifting * Finish shifting * Fix demo artwork * Code review * Right click to end shift * Improve rubber banding * Fix clippy issues * Skip collision for intersecting nodes * Rubber banding bug fix * Fix ctrl+delete node in chain * Grip drag * Fix layer width * Add icon to frontend for the solo drag grip * Reconnect during ctrl+delete * Code review --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
parent
a7840b252d
commit
78337f9b8e
19 changed files with 1238 additions and 308 deletions
|
@ -622,7 +622,10 @@ impl EditorHandle {
|
|||
self.dispatch(message);
|
||||
|
||||
let id = NodeId(id);
|
||||
let message = NodeGraphMessage::DeleteNodes { node_ids: vec![id], reconnect: true };
|
||||
let message = NodeGraphMessage::DeleteNodes {
|
||||
node_ids: vec![id],
|
||||
delete_children: true,
|
||||
};
|
||||
self.dispatch(message);
|
||||
}
|
||||
|
||||
|
@ -779,7 +782,7 @@ impl EditorHandle {
|
|||
.map(|(id, _)| *id)
|
||||
.collect::<Vec<_>>()
|
||||
{
|
||||
let layer = LayerNodeIdentifier::new(node, &document.network_interface);
|
||||
let layer = LayerNodeIdentifier::new(node, &document.network_interface, &[]);
|
||||
if layer.has_children(document.metadata()) {
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue