1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#[derive(Copy, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub enum Color {
    Default,
    AheadGainingTime,
    AheadLosingTime,
    BehindLosingTime,
    BehindGainingTime,
    BestSegment,
    NotRunning,
    Paused,
    PersonalBest,
}

impl Color {
    pub fn or(self, color: Color) -> Color {
        if self == Color::Default { color } else { self }
    }
}