Skip to content

Commit 009b97e

Browse files
author
indierusty
committed
fix auto-panning when drawing spline using path tool.
1 parent 37da289 commit 009b97e

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

editor/src/messages/tool/tool_messages/pen_tool.rs

+26-2
Original file line numberDiff line numberDiff line change
@@ -1008,7 +1008,15 @@ impl Fsm for PenToolFsmState {
10081008

10091009
PenToolFsmState::SplineDrawing
10101010
}
1011-
(PenToolFsmState::SplineDrawing, PenToolMessage::PointerMove { .. }) => {
1011+
(
1012+
PenToolFsmState::SplineDrawing,
1013+
PenToolMessage::PointerMove {
1014+
snap_angle,
1015+
break_handle,
1016+
lock_angle,
1017+
colinear,
1018+
},
1019+
) => {
10121020
let tool_data = &mut tool_data.spline_mode_tool_data;
10131021
let Some(layer) = tool_data.current_layer else { return PenToolFsmState::Ready };
10141022
let ignore = |cp: PointId| tool_data.preview_point.is_some_and(|pp| pp == cp) || tool_data.points.last().is_some_and(|(ep, _)| *ep == cp);
@@ -1027,12 +1035,28 @@ impl Fsm for PenToolFsmState {
10271035
extend_spline(tool_data, true, responses);
10281036

10291037
// Auto-panning
1030-
let messages = [SplineToolMessage::PointerOutsideViewport.into(), SplineToolMessage::PointerMove.into()];
1038+
let messages = [
1039+
PenToolMessage::PointerOutsideViewport {
1040+
snap_angle,
1041+
break_handle,
1042+
lock_angle,
1043+
colinear,
1044+
}
1045+
.into(),
1046+
PenToolMessage::PointerMove {
1047+
snap_angle,
1048+
break_handle,
1049+
lock_angle,
1050+
colinear,
1051+
}
1052+
.into(),
1053+
];
10311054
tool_data.auto_panning.setup_by_mouse_position(input, &messages, responses);
10321055

10331056
PenToolFsmState::SplineDrawing
10341057
}
10351058
(PenToolFsmState::SplineDrawing, PenToolMessage::PointerOutsideViewport { .. }) => {
1059+
let tool_data = &mut tool_data.spline_mode_tool_data;
10361060
// Auto-panning
10371061
let _ = tool_data.auto_panning.shift_viewport(input, responses);
10381062

0 commit comments

Comments
 (0)