Skip to main content

umya_spreadsheet/structs/drawing/
light_rig_values.rs

1use std::str::FromStr;
2
3use super::super::super::EnumTrait;
4#[derive(Clone, Debug)]
5pub enum LightRigValues {
6    Balanced,
7    BrightRoom,
8    Chilly,
9    Contrasting,
10    Flat,
11    Flood,
12    Freezing,
13    Glow,
14    Harsh,
15    LegacyFlat1,
16    LegacyFlat2,
17    LegacyFlat3,
18    LegacyFlat4,
19    LegacyHarsh1,
20    LegacyHarsh2,
21    LegacyHarsh3,
22    LegacyHarsh4,
23    LegacyNormal1,
24    LegacyNormal2,
25    LegacyNormal3,
26    LegacyNormal4,
27    Morning,
28    Soft,
29    Sunrise,
30    Sunset,
31    ThreePoints,
32    TwoPoints,
33}
34impl Default for LightRigValues {
35    #[inline]
36    fn default() -> Self {
37        Self::LegacyFlat1
38    }
39}
40impl EnumTrait for LightRigValues {
41    #[inline]
42    fn value_string(&self) -> &str {
43        match &self {
44            Self::Balanced => "balanced",
45            Self::BrightRoom => "brightRoom",
46            Self::Chilly => "chilly",
47            Self::Contrasting => "contrasting",
48            Self::Flat => "flat",
49            Self::Flood => "flood",
50            Self::Freezing => "freezing",
51            Self::Glow => "glow",
52            Self::Harsh => "harsh",
53            Self::LegacyFlat1 => "legacyFlat1",
54            Self::LegacyFlat2 => "legacyFlat2",
55            Self::LegacyFlat3 => "legacyFlat3",
56            Self::LegacyFlat4 => "legacyFlat4",
57            Self::LegacyHarsh1 => "legacyHarsh1",
58            Self::LegacyHarsh2 => "legacyHarsh2",
59            Self::LegacyHarsh3 => "legacyHarsh3",
60            Self::LegacyHarsh4 => "legacyHarsh4",
61            Self::LegacyNormal1 => "legacyNormal1",
62            Self::LegacyNormal2 => "legacyNormal2",
63            Self::LegacyNormal3 => "legacyNormal3",
64            Self::LegacyNormal4 => "legacyNormal4",
65            Self::Morning => "morning",
66            Self::Soft => "soft",
67            Self::Sunrise => "sunrise",
68            Self::Sunset => "sunset",
69            Self::ThreePoints => "threePt",
70            Self::TwoPoints => "twoPt",
71        }
72    }
73}
74impl FromStr for LightRigValues {
75    type Err = ();
76
77    #[inline]
78    fn from_str(input: &str) -> Result<Self, Self::Err> {
79        match input {
80            "balanced" => Ok(Self::Balanced),
81            "brightRoom" => Ok(Self::BrightRoom),
82            "chilly" => Ok(Self::Chilly),
83            "contrasting" => Ok(Self::Contrasting),
84            "flat" => Ok(Self::Flat),
85            "flood" => Ok(Self::Flood),
86            "freezing" => Ok(Self::Freezing),
87            "glow" => Ok(Self::Glow),
88            "harsh" => Ok(Self::Harsh),
89            "legacyFlat1" => Ok(Self::LegacyFlat1),
90            "legacyFlat2" => Ok(Self::LegacyFlat2),
91            "legacyFlat3" => Ok(Self::LegacyFlat3),
92            "legacyFlat4" => Ok(Self::LegacyFlat4),
93            "legacyHarsh1" => Ok(Self::LegacyHarsh1),
94            "legacyHarsh2" => Ok(Self::LegacyHarsh2),
95            "legacyHarsh3" => Ok(Self::LegacyHarsh3),
96            "legacyHarsh4" => Ok(Self::LegacyHarsh4),
97            "legacyNormal1" => Ok(Self::LegacyNormal1),
98            "legacyNormal2" => Ok(Self::LegacyNormal2),
99            "legacyNormal3" => Ok(Self::LegacyNormal3),
100            "legacyNormal4" => Ok(Self::LegacyNormal4),
101            "morning" => Ok(Self::Morning),
102            "soft" => Ok(Self::Soft),
103            "sunrise" => Ok(Self::Sunrise),
104            "sunset" => Ok(Self::Sunset),
105            "threePt" => Ok(Self::ThreePoints),
106            "twoPt" => Ok(Self::TwoPoints),
107            _ => Err(()),
108        }
109    }
110}