chartml_core/spec/
style.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Deserialize, Serialize)]
4#[serde(rename_all = "camelCase")]
5pub struct StyleSpec {
6 pub version: u32,
7 pub name: String,
8 pub colors: Option<Vec<String>>,
9 pub grid: Option<GridSpec>,
10 pub height: Option<f64>,
11 pub show_dots: Option<bool>,
12 pub stroke_width: Option<f64>,
13 pub fonts: Option<FontsSpec>,
14 pub legend: Option<LegendSpec>,
15}
16
17#[derive(Debug, Clone, Deserialize, Serialize)]
18#[serde(rename_all = "camelCase")]
19pub struct GridSpec {
20 pub x: Option<bool>,
21 pub y: Option<bool>,
22 pub color: Option<String>,
23 pub opacity: Option<f64>,
24 pub dash_array: Option<String>,
25}
26
27#[derive(Debug, Clone, Deserialize, Serialize)]
28#[serde(rename_all = "camelCase")]
29pub struct FontsSpec {
30 pub title: Option<FontSpec>,
31 pub axis: Option<FontSpec>,
32 pub data_label: Option<FontSpec>,
33}
34
35#[derive(Debug, Clone, Deserialize, Serialize)]
36#[serde(rename_all = "camelCase")]
37pub struct FontSpec {
38 pub family: Option<String>,
39 pub size: Option<f64>,
40 pub weight: Option<String>,
41 pub color: Option<String>,
42}
43
44#[derive(Debug, Clone, Deserialize, Serialize)]
45#[serde(rename_all = "camelCase")]
46pub struct LegendSpec {
47 pub position: Option<String>,
48 pub orientation: Option<String>,
49}