use crate::shims::constants::{
A_NORMAL, A_CHARTEXT, A_STANDOUT, A_UNDERLINE, A_REVERSE, A_BLINK, A_DIM,
A_BOLD, A_ALTCHARSET, A_INVIS, A_PROTECT, A_HORIZONTAL, A_LEFT, A_LOW,
A_RIGHT, A_TOP, A_VERTICAL, A_ITALIC
};
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
pub enum Attribute {
Normal,
CharText,
Standout,
Underline,
Reverse,
Blink,
Dim,
Bold,
AlternativeCharSet,
Invisible,
Protected,
Horizontal,
Left,
Low,
Right,
Top,
Vertical,
Italic
}
impl Into<attr_t> for Attribute {
fn into(self) -> attr_t {
match self {
Attribute::Normal => A_NORMAL,
Attribute::CharText => A_CHARTEXT,
Attribute::Standout => A_STANDOUT,
Attribute::Underline => A_UNDERLINE,
Attribute::Reverse => A_REVERSE,
Attribute::Blink => A_BLINK,
Attribute::Dim => A_DIM,
Attribute::Bold => A_BOLD,
Attribute::AlternativeCharSet => A_ALTCHARSET,
Attribute::Invisible => A_INVIS,
Attribute::Protected => A_PROTECT,
Attribute::Horizontal => A_HORIZONTAL,
Attribute::Left => A_LEFT,
Attribute::Low => A_LOW,
Attribute::Right => A_RIGHT,
Attribute::Top => A_TOP,
Attribute::Vertical => A_VERTICAL,
Attribute::Italic => A_ITALIC
}
}
}
impl Default for Attribute {
fn default() -> Self {
Attribute::Normal
}
}