text_document_formatting/
dtos.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6pub struct SetTextFormatDto {
7 pub position: i64,
8 pub anchor: i64,
9 pub font_family: Option<String>,
10 pub font_point_size: Option<i64>,
11 pub font_weight: Option<i64>,
12 pub font_bold: Option<bool>,
13 pub font_italic: Option<bool>,
14 pub font_underline: Option<bool>,
15 pub font_overline: Option<bool>,
16 pub font_strikeout: Option<bool>,
17 pub letter_spacing: Option<i64>,
18 pub word_spacing: Option<i64>,
19 pub underline_style: Option<UnderlineStyle>,
20 pub vertical_alignment: Option<CharVerticalAlignment>,
21}
22
23#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq)]
24pub enum UnderlineStyle {
25 #[default]
26 NoUnderline,
27 SingleUnderline,
28 DashUnderline,
29 DotLine,
30 DashDotLine,
31 DashDotDotLine,
32 WaveUnderline,
33 SpellCheckUnderline,
34}
35
36#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq)]
37pub enum CharVerticalAlignment {
38 #[default]
39 Normal,
40 SuperScript,
41 SubScript,
42 Middle,
43 Bottom,
44 Top,
45 Baseline,
46}
47
48#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
49pub struct MergeTextFormatDto {
50 pub position: i64,
51 pub anchor: i64,
52 pub font_family: Option<String>,
53 pub font_bold: Option<bool>,
54 pub font_italic: Option<bool>,
55 pub font_underline: Option<bool>,
56}
57
58#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
59pub struct SetBlockFormatDto {
60 pub position: i64,
61 pub anchor: i64,
62 pub alignment: Option<Alignment>,
63 pub heading_level: Option<i64>,
64 pub indent: Option<i64>,
65 pub marker: Option<MarkerType>,
66}
67
68#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq)]
69pub enum Alignment {
70 #[default]
71 Left,
72 Right,
73 Center,
74 Justify,
75}
76
77#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq)]
78pub enum MarkerType {
79 #[default]
80 NoMarker,
81 Unchecked,
82 Checked,
83}
84
85#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
86pub struct SetFrameFormatDto {
87 pub position: i64,
88 pub anchor: i64,
89 pub frame_id: i64,
90 pub height: Option<i64>,
91 pub width: Option<i64>,
92 pub top_margin: Option<i64>,
93 pub bottom_margin: Option<i64>,
94 pub left_margin: Option<i64>,
95 pub right_margin: Option<i64>,
96 pub padding: Option<i64>,
97 pub border: Option<i64>,
98}