livesplit_core/layout/component_state.rs
1use crate::component::{
2 blank_space, detailed_timer, graph, key_value, separator, splits, text, timer, title,
3};
4use crate::platform::prelude::*;
5use serde::{Deserialize, Serialize};
6
7/// The state object for one of the components available.
8#[derive(Serialize, Deserialize)]
9pub enum ComponentState {
10 /// The state object for the Blank Space Component.
11 BlankSpace(blank_space::State),
12 /// The state object for the Detailed Timer Component.
13 DetailedTimer(Box<detailed_timer::State>),
14 /// The state object for the Graph Component.
15 Graph(graph::State),
16 /// The state object for a key value based component.
17 KeyValue(key_value::State),
18 /// The state object for the Separator Component.
19 Separator(separator::State),
20 /// The state object for the Splits Component.
21 Splits(splits::State),
22 /// The state object for the Text Component.
23 Text(text::State),
24 /// The state object for the Timer Component.
25 Timer(timer::State),
26 /// The state object for the Title Component.
27 Title(title::State),
28}