chiark / gitweb /
organise: Adjust overlaps, introduce AbutCompr
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 3 Apr 2021 02:48:42 +0000 (03:48 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 3 Apr 2021 10:25:23 +0000 (11:25 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/organise.rs

index 276e9edfb2fa298393b96a022bd95b3dfb23200a..12ad5212a13d27f04c8bd6df481c49a7bc934279 100644 (file)
@@ -37,6 +37,7 @@ enum Attempt {
   Nonoverlap,
   Inside,
   Abut,
+  AbutCompr,
   Hanging,
 }
 use Attempt as A;
@@ -48,7 +49,8 @@ impl Attempt {
     match self {
       A::Nonoverlap |
       A::Inside     => (cnr - PosC::both(MARGIN_INSIDE))?,
-      A::Abut       =>  cnr,
+      A::Abut       |
+      A::AbutCompr  =>  cnr,
       A::Hanging    =>  PosC::both(-HANG_INSIDE),
     }
   }
@@ -59,7 +61,8 @@ impl Attempt {
     match self {
       A::Nonoverlap |
       A::Inside     => (cnr + PosC::both(MARGIN_INSIDE))?,
-      A::Abut       =>  cnr,
+      A::Abut       |
+      A::AbutCompr  =>  cnr,
       A::Hanging    =>  PosC::both(HANG_INSIDE),
     }
   }
@@ -70,8 +73,9 @@ impl Attempt {
     match self {
       A::Nonoverlap => (cnr + PosC::both(MARGIN_INSIDE))?,
       A::Inside     |
-      A::Abut       => (bbox.tl() - bbox.tl().map(|v| v/3))?,
-      A::Hanging    => PosC::both(HANG_INSIDE),
+      A::Abut       => (bbox.tl() - bbox.tl().map(|v| v/ 2 ))?,
+      A::AbutCompr  => (bbox.tl() - bbox.tl().map(|v| v/ 3 ))?,
+      A::Hanging    =>  PosC::both(HANG_INSIDE),
     }
   }
 }