mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-01 08:58:12 +08:00
Desktop: Fix pivot and axis constraint overlays (#3463)
* fix pivot gizmo native dowel_pin overlay * fix native snapping overlay
This commit is contained in:
@@ -400,6 +400,7 @@ struct SelectToolData {
|
||||
selected_layers_changed: bool,
|
||||
snap_candidates: Vec<SnapCandidatePoint>,
|
||||
auto_panning: AutoPanning,
|
||||
drag_start_center: ViewportPosition,
|
||||
}
|
||||
|
||||
impl SelectToolData {
|
||||
@@ -911,11 +912,10 @@ impl Fsm for SelectToolFsmState {
|
||||
let angle = -mouse_position.angle_to(DVec2::X);
|
||||
let snapped_angle = (angle / snap_resolution).round() * snap_resolution;
|
||||
|
||||
let extension = tool_data.drag_current - tool_data.drag_start;
|
||||
let origin = compass_center - extension;
|
||||
let origin = tool_data.drag_start_center;
|
||||
let viewport_diagonal = viewport.size().into_dvec2().length();
|
||||
|
||||
let edge = DVec2::from_angle(snapped_angle).normalize_or(DVec2::X) * viewport_diagonal;
|
||||
let edge = DVec2::from_angle(snapped_angle).normalize_or(DVec2::X);
|
||||
let perp = edge.perp();
|
||||
|
||||
let (edge_color, perp_color) = if edge.x.abs() > edge.y.abs() {
|
||||
@@ -1032,6 +1032,8 @@ impl Fsm for SelectToolFsmState {
|
||||
let position = tool_data.pivot_gizmo().position(document);
|
||||
let (resize, rotate, skew) = transforming_transform_cage(document, &mut tool_data.bounding_box_manager, input, responses, &mut tool_data.layers_dragging, Some(position));
|
||||
|
||||
tool_data.drag_start_center = position;
|
||||
|
||||
// If the user is dragging the bounding box bounds, go into ResizingBounds mode.
|
||||
// If the user is dragging the rotate trigger, go into RotatingBounds mode.
|
||||
// If the user clicks on a layer that is in their current selection, go into the dragging mode.
|
||||
|
||||
Reference in New Issue
Block a user