From: Ian Jackson Date: Sun, 7 Mar 2021 10:54:40 +0000 (+0000) Subject: hidden hand: Fix/reorganise region computation X-Git-Tag: otter-0.4.0~240 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=a03303436d907a016704ce4a72460c00b54f8a5f;p=otter.git hidden hand: Fix/reorganise region computation Signed-off-by: Ian Jackson --- diff --git a/src/hand.rs b/src/hand.rs index 42359012..aa22e9bb 100644 --- a/src/hand.rs +++ b/src/hand.rs @@ -163,14 +163,16 @@ impl PieceTrait for Hand { dasharray, desc: new_desc, }); - let pos = gpc.pos; + let centre = gpc.pos; let (region, views) = (||{ + dbgc!("claiming region"); + let offset = (self.shape.outline.xy * 0.5)?; + let offset = offset.try_map( + |c| c.floor().to_i32().ok_or(CoordinateOverflow) + )?; let region = AreaC( [-1,1].iter().map(|&signum| Ok::<_,IE>({ - let xy = self.shape.outline.xy.try_map( - |c| c.floor().to_i32().ok_or(CoordinateOverflow) - )?; - (pos + (xy * signum)?)? + (centre + (offset * signum)?)? })) .collect::,_>>()? .into_inner().unwrap()