summaryrefslogtreecommitdiffstats
path: root/src/skin/panel_skin.rs
blob: 70da428bafd78635fecfd2ee2192f38e493171d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use {
    super::*,
    termimad::MadSkin,
};

/// the various skin things used in a panel.
///
/// There are normally two instances of this struct in
/// a broot application: one is used for the focused panel
/// and one is used for the other panels.
pub struct PanelSkin {
    pub styles: StyleMap,
    pub purpose_skin: MadSkin,
    pub status_skin: StatusMadSkinSet,
    pub help_skin: MadSkin,
}


impl PanelSkin {
    pub fn new(styles: StyleMap) -> Self {
        let purpose_skin = make_purpose_mad_skin(&styles);
        let status_skin = StatusMadSkinSet::from_skin(&styles);
        let help_skin = make_help_mad_skin(&styles);
        Self {
            styles,
            purpose_skin,
            status_skin,
            help_skin,
        }
    }
}