mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-02 21:18:12 +08:00
Correct snapping offsets after canvas transformation when using snap-reliant tools (#1370)
* fix: pen, spline tool incorrect snap offsets - re-render snapping offsets if canvas transformed during line draw * [wip]feat: add CanvasTransformed global message * [wip]fix: synchronize line tool snap offsets * fix: update offsets for shape tools on canvas transform * chore: remove unneeded function parameter * [wip]fix: use line tool at canvas level * refactor: revert line tool changes
This commit is contained in:
@@ -211,6 +211,7 @@ impl MessageHandler<NavigationMessage, (&Document, Option<[DVec2; 2]>, &InputPre
|
||||
TransformCanvasEnd => {
|
||||
self.tilt = self.snapped_angle();
|
||||
self.zoom = self.snapped_scale();
|
||||
responses.add(BroadcastEvent::CanvasTransformed);
|
||||
responses.add(BroadcastEvent::DocumentIsDirty);
|
||||
responses.add(ToolMessage::UpdateCursor);
|
||||
responses.add(ToolMessage::UpdateHints);
|
||||
@@ -225,6 +226,7 @@ impl MessageHandler<NavigationMessage, (&Document, Option<[DVec2; 2]>, &InputPre
|
||||
let transformed_delta = document.root.transform.inverse().transform_vector2(delta);
|
||||
|
||||
self.pan += transformed_delta;
|
||||
responses.add(BroadcastEvent::CanvasTransformed);
|
||||
responses.add(BroadcastEvent::DocumentIsDirty);
|
||||
self.create_document_transform(&ipp.viewport_bounds, responses);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user