Prevent auto-panning in Pen/Spline tools while drawing without dragging (#2463)

don't autopann when mouse up

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
0SlowPoke0 2025-04-14 06:51:59 +05:30 committed by GitHub
parent c2a36ce981
commit d194c784be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 0 deletions

View file

@ -1,5 +1,6 @@
use super::tool_prelude::*;
use crate::consts::{DEFAULT_STROKE_WIDTH, HIDE_HANDLE_DISTANCE, LINE_ROTATE_SNAP_ANGLE};
use crate::messages::input_mapper::utility_types::input_mouse::MouseKeys;
use crate::messages::portfolio::document::node_graph::document_node_definitions::resolve_document_node_type;
use crate::messages::portfolio::document::overlays::utility_functions::path_overlays;
use crate::messages::portfolio::document::overlays::utility_types::{DrawHandles, OverlayContext};
@ -1876,6 +1877,9 @@ impl Fsm for PenToolFsmState {
PenToolFsmState::DraggingHandle(mode)
}
(PenToolFsmState::PlacingAnchor, PenToolMessage::PointerOutsideViewport { .. }) => {
if !input.mouse.mouse_keys.contains(MouseKeys::LEFT) {
return self;
}
// Auto-panning
let _ = tool_data.auto_panning.shift_viewport(input, responses);

View file

@ -1,5 +1,6 @@
use super::tool_prelude::*;
use crate::consts::{DEFAULT_STROKE_WIDTH, DRAG_THRESHOLD, PATH_JOIN_THRESHOLD, SNAP_POINT_TOLERANCE};
use crate::messages::input_mapper::utility_types::input_mouse::MouseKeys;
use crate::messages::portfolio::document::node_graph::document_node_definitions::resolve_document_node_type;
use crate::messages::portfolio::document::overlays::utility_functions::path_endpoint_overlays;
use crate::messages::portfolio::document::overlays::utility_types::OverlayContext;
@ -406,6 +407,9 @@ impl Fsm for SplineToolFsmState {
self
}
(SplineToolFsmState::Drawing, SplineToolMessage::PointerOutsideViewport) => {
if !input.mouse.mouse_keys.contains(MouseKeys::LEFT) {
return self;
}
// Auto-panning
let _ = tool_data.auto_panning.shift_viewport(input, responses);