openpine_vm/visuals/
text.rs

1use openpine_macros::Enum;
2use serde::{Deserialize, Serialize};
3
4/// Vertical text alignment.
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Enum, Serialize, Deserialize)]
6#[openpine(rename_all = "lowercase")]
7pub enum VerticalAlign {
8    /// Align to the top.
9    Top,
10    /// Align to the middle.
11    #[openpine(name = "center")]
12    Middle,
13    /// Align to the bottom.
14    Bottom,
15}
16
17/// Horizontal text alignment.
18#[derive(Debug, Clone, Copy, PartialEq, Eq, Enum, Serialize, Deserialize)]
19#[openpine(rename_all = "lowercase")]
20pub enum HorizontalAlign {
21    /// Align to the left.
22    Left,
23    /// Center align.
24    Center,
25    /// Align to the right.
26    Right,
27}
28
29/// Font family selection.
30#[derive(Debug, Copy, Clone, Eq, PartialEq, Enum, Serialize, Deserialize)]
31#[openpine(rename_all = "lowercase")]
32pub enum FontFamily {
33    /// Default chart font.
34    Default,
35    /// Monospace font.
36    Monospace,
37}
38
39/// Text formatting (bold/italic).
40#[derive(Debug, Copy, Clone, Eq, PartialEq, Enum, Serialize, Deserialize)]
41#[openpine(rename_all = "lowercase")]
42pub enum TextFormatting {
43    /// No special formatting.
44    None,
45    /// Bold formatting.
46    Bold,
47    /// Italic formatting.
48    Italic,
49}
50
51/// Text wrapping behavior.
52#[derive(Debug, Copy, Clone, Eq, PartialEq, Enum, Serialize, Deserialize)]
53#[openpine(rename_all = "lowercase")]
54pub enum TextWrap {
55    /// Automatic wrapping.
56    Auto,
57    /// Disable wrapping.
58    None,
59}