let fontsz = 4.;
let PosC([x,y]) = {
use piece_specs::PieceLabelPlace::*;
- let eff_size = (outline.xy - PosC([2.,2.]))?;
+ let inout = match self.place {
+ BottomLeft | TopLeft => 1.,
+ BottomLeftOutside | TopLeftOutside => -1.,
+ };
+ let eff_size = (outline.xy - PosC([2., inout * 2.]))?;
let mut pos = (eff_size * -0.5)?;
let y = &mut pos.0[1];
- *y += 0.5 * fontsz;
+ *y += 0.5 * fontsz * inout;
match self.place {
- BottomLeft => { *y *= -1. },
- TopLeft => { }
+ BottomLeft | BottomLeftOutside => { *y *= -1. },
+ TopLeft | TopLeftOutside => { },
};
*y += 0.5 * fontsz;
pos
#[derive(Debug,Copy,Clone,Serialize,Deserialize,Eq,PartialEq)]
pub enum PieceLabelPlace {
- BottomLeft,
- TopLeft,
+ BottomLeft, TopLeft,
+ BottomLeftOutside, TopLeftOutside,
}
#[derive(Debug,Serialize,Deserialize)]