1
use std::path::PathBuf;
2

            
3
29
#[derive(Debug, Default, Clone, PartialEq)]
4
pub struct StandardArgs {
5
    pub file: PathBuf,
6
    pub coords: String,
7
    pub output: PathBuf,
8
    pub samples: Option<PathBuf>,
9
    pub selection: Selection,
10
    pub info_limit: Option<f32>,
11
    pub prefix: Option<String>,
12
}
13

            
14
25
#[derive(Debug, Clone, PartialEq)]
15
pub struct GraphArgs {
16
    pub width: u32,
17
    pub height: u32,
18
    pub mark_locus: bool,
19
    pub font_size: usize,
20
    pub stroke_width: u32,
21
    pub color: String,
22
    pub background_color: String,
23
}
24

            
25
impl Default for GraphArgs {
26
49
    fn default() -> Self {
27
49
        Self {
28
49
            width: 2560,
29
49
            height: 1440,
30
49
            mark_locus: false,
31
49
            font_size: 20,
32
49
            stroke_width: 5,
33
49
            color: String::from("black"),
34
49
            background_color: String::from("white"),
35
49
        }
36
49
    }
37
}
38

            
39
1648
#[derive(Clone, Default, Debug, PartialEq, Eq)]
40
pub enum Selection {
41
    #[default]
42
    All,
43
    OnlyAlts,
44
    OnlyRefs,
45
    OnlyLongest,
46
    Unphased,
47
}
48

            
49
1
#[derive(Clone, Default, Debug, PartialEq, Eq)]
50
pub enum MergeRule {
51
    #[default]
52
    Start,
53
    Stop,
54
}