1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
use super::super::math::*; #[derive(Clone, Copy)] pub enum Anchor { Middle, TopLeft, TopMiddle, TopRight, MiddleRight, BottomRight, BottomMiddle, BottomLeft, MiddleLeft, Custom(Vec2<f32>), } impl Anchor { pub(crate) fn as_vec(self) -> Vec2<f32> { use Anchor::*; match self { Middle => Vec2::new(0.0, 0.0), TopLeft => Vec2::new(-1.0, 1.0), TopMiddle => Vec2::new(0.0, 1.0), TopRight => Vec2::new(1.0, 1.0), MiddleRight => Vec2::new(1.0, 0.0), BottomRight => Vec2::new(1.0, -1.0), BottomMiddle => Vec2::new(0.0, -1.0), BottomLeft => Vec2::new(-1.0, -1.0), MiddleLeft => Vec2::new(-1.0, 0.0), Custom(vec) => vec } } }