Skip to main content

photon_ui/layout/
direction.rs

1/// Layout direction.
2#[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash)]
3pub enum Direction {
4    Horizontal,
5    #[default]
6    Vertical,
7}
8
9impl Direction {
10    pub const fn perpendicular(self) -> Self {
11        match self {
12            | Self::Horizontal => Self::Vertical,
13            | Self::Vertical => Self::Horizontal,
14        }
15    }
16}
17
18#[cfg(test)]
19mod tests {
20    use super::*;
21
22    #[test]
23    fn direction_perpendicular() {
24        assert_eq!(Direction::Horizontal.perpendicular(), Direction::Vertical);
25        assert_eq!(Direction::Vertical.perpendicular(), Direction::Horizontal);
26    }
27
28    #[test]
29    fn direction_default() {
30        assert_eq!(Direction::default(), Direction::Vertical);
31    }
32}