Retain transforms of layers when transferred between transformed groups (#2212)
* Retain position of layers when transfered between artboards. Fixes #861 * Apply same fixes to grouped layers
This commit is contained in:
parent
8505ed3f10
commit
37db9b1392
|
|
@ -622,6 +622,16 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
||||||
parent,
|
parent,
|
||||||
insert_index: calculated_insert_index,
|
insert_index: calculated_insert_index,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let layer_local_transform = self.network_interface.document_metadata().transform_to_viewport(layer_to_move);
|
||||||
|
let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse();
|
||||||
|
let transform = undo_transform * layer_local_transform;
|
||||||
|
responses.add(GraphOperationMessage::TransformSet {
|
||||||
|
layer: layer_to_move,
|
||||||
|
transform,
|
||||||
|
transform_in: TransformIn::Local,
|
||||||
|
skip_rerender: false,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
responses.add(NodeGraphMessage::RunDocumentGraph);
|
responses.add(NodeGraphMessage::RunDocumentGraph);
|
||||||
|
|
@ -1194,6 +1204,16 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
||||||
parent,
|
parent,
|
||||||
insert_index: folder_index,
|
insert_index: folder_index,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let layer_local_transform = self.network_interface.document_metadata().transform_to_viewport(child);
|
||||||
|
let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse();
|
||||||
|
let transform = undo_transform * layer_local_transform;
|
||||||
|
responses.add(GraphOperationMessage::TransformSet {
|
||||||
|
layer: child,
|
||||||
|
transform,
|
||||||
|
transform_in: TransformIn::Local,
|
||||||
|
skip_rerender: false,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete empty group folder
|
// Delete empty group folder
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue