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}