Skip to content

Commit 1fa7607

Browse files
seam0s-devKeavon
authored andcommitted
Add overlays for free-floating anchors on hovered/selected vector layers (GraphiteEditor#2630)
* Add selection overlay for free-floating anchors * Add hover overlay for free-floating anchors * Refactor outline_free_floating anchor * Add single-anchor click targets on VectorData * Modify ClickTarget to adapt for Subpath and PointGroup * Fix Rust formatting * Remove debug statements * Add point groups support in VectorDataTable::add_upstream_click_targets * Improve overlay for free floating anchors * Remove datatype for nodes_to_shift * Fix formatting in select_tool.rs * Lints * Code review * Remove references to point_group * Refactor ManipulatorGroup for FreePoint in ClickTargetGroup * Rename ClickTargetGroup to ClickTargetType * Refactor outline_free_floating_anchors into outline * Adapt TransformCage to disable dragging and rotating on a single anchor layer * Fix hover on single points * Fix comments * Lints * Code review pass --------- Co-authored-by: Keavon Chambers <[email protected]>
1 parent 872750f commit 1fa7607

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

editor/src/messages/tool/common_functionality/shape_editor.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,11 @@ impl SelectedLayerState {
107107
}
108108

109109
pub fn selected_points_count(&self) -> usize {
110-
self.selected_points.len()
110+
let count = self.selected_points.iter().fold(0, |acc, point| {
111+
let is_ignored = (point.as_handle().is_some() && self.ignore_handles) || (point.as_anchor().is_some() && self.ignore_anchors);
112+
acc + if is_ignored { 0 } else { 1 }
113+
});
114+
count
111115
}
112116
}
113117

0 commit comments

Comments
 (0)