From 011b0a41e1f2757d857c0f1d17f6cf62800c6147 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 23 Oct 2026 21:18:46 +0000 Subject: [PATCH] G1: Reshape overlay readouts honor Measurement Labels pref Co-authored-by: nrq6993-a11y --- crates/tools/src/extra.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/crates/tools/src/extra.rs b/crates/tools/src/extra.rs index 518237d3f..013578edc 100644 --- a/crates/tools/src/extra.rs +++ b/crates/tools/src/extra.rs @@ -310,8 +310,14 @@ impl Tool for ReshapeTool { } vec![] } - fn overlays(&self, _cx: &ToolContext) -> Vec { - if let Some((p, t)) = &self.measure { vec![Overlay::Measure { p: *p, text: t.clone() }] } else { vec![] } + fn overlays(&self, cx: &ToolContext) -> Vec { + if cx.measurement_labels + && let Some((p, t)) = &self.measure + { + vec![Overlay::Measure { p: *p, text: t.clone() }] + } else { + vec![] + } } fn cursor(&self, cx: &ToolContext, p: Point, _mods: Mods) -> Cursor { if self.grab.is_some() || Self::hit(cx, p).is_some() { Cursor::Move } else { Cursor::Arrow } @@ -550,6 +556,7 @@ mod tests { let want = on.offset_label(30.0, 0.0); assert!(t.overlays(&on).iter().any(|o| matches!(o, Overlay::Measure { text, .. } if text == &want))); let off = ToolContext { measurement_labels: false, ..cx(&d, &s, &p) }; + assert!(!t.overlays(&off).iter().any(|o| matches!(o, Overlay::Measure { .. })), "overlay follows the current pref"); let mut quiet = ReshapeTool::default(); drag(&mut quiet, &off); assert!(!quiet.overlays(&off).iter().any(|o| matches!(o, Overlay::Measure { .. })));