mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-29 07:48:11 +08:00
Fix a layer's transform being reset when it's reordered within its same parent (#2624)
Fix layer transform reset when being reordered within the same group/parent
This commit is contained in:
@@ -684,15 +684,17 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
|||||||
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);
|
if layer_to_move.parent(self.metadata()) != Some(parent) {
|
||||||
let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse();
|
let layer_local_transform = self.network_interface.document_metadata().transform_to_viewport(layer_to_move);
|
||||||
let transform = undo_transform * layer_local_transform;
|
let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse();
|
||||||
responses.add(GraphOperationMessage::TransformSet {
|
let transform = undo_transform * layer_local_transform;
|
||||||
layer: layer_to_move,
|
responses.add(GraphOperationMessage::TransformSet {
|
||||||
transform,
|
layer: layer_to_move,
|
||||||
transform_in: TransformIn::Local,
|
transform,
|
||||||
skip_rerender: false,
|
transform_in: TransformIn::Local,
|
||||||
});
|
skip_rerender: false,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
responses.add(NodeGraphMessage::RunDocumentGraph);
|
responses.add(NodeGraphMessage::RunDocumentGraph);
|
||||||
|
|||||||
Reference in New Issue
Block a user