openpine_vm/visuals/
line.rs1use openpine_compiler::instructions::Color;
2use openpine_macros::Enum;
3use serde::{Deserialize, Serialize};
4
5use crate::visuals::{Extend, XLocation};
6
7#[derive(Enum, Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
9#[openpine(rename_all = "snake")]
10pub enum LineStyle {
11 #[default]
13 Solid,
14 Dotted,
16 Dashed,
18 ArrowLeft,
20 ArrowRight,
22 ArrowBoth,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct Line {
29 pub x1: i64,
31 pub y1: f64,
33 pub x2: i64,
35 pub y2: f64,
37 pub xloc: XLocation,
39 pub extend: Extend,
41 pub color: Option<Color>,
43 pub style: LineStyle,
45 pub width: i32,
47 pub force_overlay: bool,
49}