azizo_core/state.rs
1//! Controller state snapshot.
2
3/// A snapshot of the controller's current state.
4///
5/// This captures all slider/mode values at a point in time.
6/// Use [`DisplayController::get_state`](crate::DisplayController::get_state) to obtain a snapshot.
7#[derive(Debug, Clone, Default)]
8pub struct ControllerState {
9 /// The current mode ID (1=Normal, 2=Vivid, 6=Manual, 7=EyeCare).
10 pub mode_id: i32,
11 /// Whether monochrome/e-reading mode is active.
12 pub is_monochrome: bool,
13 /// Display dimming level (40-100 in splendid units).
14 pub dimming: i32,
15 /// Manual mode color temperature slider value (0-100).
16 pub manual_slider: u8,
17 /// Eye care mode level (0-4).
18 pub eyecare_level: u8,
19 /// E-reading grayscale level (0-4).
20 pub ereading_grayscale: u8,
21 /// E-reading temperature value.
22 pub ereading_temp: u8,
23 /// The last non-e-reading mode ID (for restoration).
24 pub last_non_ereading_mode: i32,
25}