fxprof_processed_profile/
category_color.rs

1use serde::ser::{Serialize, Serializer};
2
3/// One of the available colors for a category.
4#[derive(Debug, Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Hash)]
5pub enum CategoryColor {
6    Transparent,
7    LightBlue,
8    Red,
9    LightRed,
10    Orange,
11    Blue,
12    Green,
13    Purple,
14    Yellow,
15    Brown,
16    Magenta,
17    LightGreen,
18    Gray,
19    DarkGray,
20}
21
22impl Serialize for CategoryColor {
23    fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
24        match self {
25            CategoryColor::Transparent => "transparent".serialize(serializer),
26            CategoryColor::LightBlue => "lightblue".serialize(serializer),
27            CategoryColor::Red => "red".serialize(serializer),
28            CategoryColor::LightRed => "lightred".serialize(serializer),
29            CategoryColor::Orange => "orange".serialize(serializer),
30            CategoryColor::Blue => "blue".serialize(serializer),
31            CategoryColor::Green => "green".serialize(serializer),
32            CategoryColor::Purple => "purple".serialize(serializer),
33            CategoryColor::Yellow => "yellow".serialize(serializer),
34            CategoryColor::Brown => "brown".serialize(serializer),
35            CategoryColor::Magenta => "magenta".serialize(serializer),
36            CategoryColor::LightGreen => "lightgreen".serialize(serializer),
37            CategoryColor::Gray => "grey".serialize(serializer),
38            CategoryColor::DarkGray => "darkgray".serialize(serializer),
39        }
40    }
41}