mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-12 00:40:57 -06:00
Direct Selection: keep the spine, mesh and frame overlays while a handle is dragged (#332 follow-up)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 65a5c24081c733e70ad453318cedadf01ed6451a)
This commit is contained in:
@@ -404,13 +404,15 @@ impl Tool for DirectSelectionTool {
|
|||||||
match &self.state {
|
match &self.state {
|
||||||
State::Marquee { start, cur, .. } => vec![Overlay::Marquee(Rect::from_points(*start, *cur))],
|
State::Marquee { start, cur, .. } => vec![Overlay::Marquee(Rect::from_points(*start, *cur))],
|
||||||
State::Corner(c) => c.overlays(cx),
|
State::Corner(c) => c.overlays(cx),
|
||||||
State::Handle { .. } => self.guides.clone(),
|
|
||||||
_ => {
|
_ => {
|
||||||
let mut out = self.spine_overlays(cx);
|
let mut out = self.spine_overlays(cx);
|
||||||
out.extend(self.mesh.overlays(cx));
|
out.extend(self.mesh.overlays(cx));
|
||||||
if !self.group {
|
if !self.group {
|
||||||
out.extend(frame_overlays(cx));
|
out.extend(frame_overlays(cx));
|
||||||
}
|
}
|
||||||
|
if matches!(self.state, State::Handle { .. }) {
|
||||||
|
out.extend(self.guides.iter().cloned());
|
||||||
|
}
|
||||||
out
|
out
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user