mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-26 18:56:55 -06:00
Merge pull request #4161 from nrq6993-a11y/stream/vc-feat-g1-reshape-readout-prefs
G1: Reshape readouts follow Measurement Labels pref
This commit is contained in:
@@ -117,7 +117,7 @@ pub const PATHFINDER_MAX_OVERLAPS: usize = 16_384;
|
||||
struct Counts(Vec<isize>);
|
||||
|
||||
// `isolate_lowest_one` is still unstable in Rust 1.96, and the workspace builds on 1.95 (rust-version).
|
||||
#[allow(clippy::manual_isolate_lowest_one)]
|
||||
#[allow(unknown_lints, clippy::manual_isolate_lowest_one)]
|
||||
impl Counts {
|
||||
fn add(&mut self, slot: usize, d: isize) {
|
||||
let mut i = slot + 1;
|
||||
|
||||
@@ -310,8 +310,14 @@ impl Tool for ReshapeTool {
|
||||
}
|
||||
vec![]
|
||||
}
|
||||
fn overlays(&self, _cx: &ToolContext) -> Vec<Overlay> {
|
||||
if let Some((p, t)) = &self.measure { vec![Overlay::Measure { p: *p, text: t.clone() }] } else { vec![] }
|
||||
fn overlays(&self, cx: &ToolContext) -> Vec<Overlay> {
|
||||
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 { .. })));
|
||||
|
||||
Reference in New Issue
Block a user