flowsurface_data/
config.rs

1use serde::{Deserialize, Serialize};
2
3pub mod sidebar;
4pub mod state;
5pub mod theme;
6pub mod timezone;
7
8pub const MIN_SCALE: f32 = 0.8;
9pub const MAX_SCALE: f32 = 1.5;
10
11#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq)]
12pub struct ScaleFactor(f32);
13
14impl Default for ScaleFactor {
15    fn default() -> Self {
16        Self(1.0)
17    }
18}
19
20impl From<f32> for ScaleFactor {
21    fn from(value: f32) -> Self {
22        ScaleFactor(value.clamp(MIN_SCALE, MAX_SCALE))
23    }
24}
25
26impl From<ScaleFactor> for f32 {
27    fn from(value: ScaleFactor) -> Self {
28        value.0
29    }
30}