diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-03 10:10:58 +0000 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-03 10:10:58 +0000 |
commit | e33eedba95fcff1e9c2118875d71bc538f3dd298 (patch) | |
tree | 36849dfdf73c799c9b00aa3ad8d0c3b341bf1a12 /src/attrs.rs | |
parent | 23a26417d7614bdcd081509436f15432000d65dd (diff) | |
download | vt100-rust-e33eedba95fcff1e9c2118875d71bc538f3dd298.tar.gz vt100-rust-e33eedba95fcff1e9c2118875d71bc538f3dd298.zip |
simplify
Diffstat (limited to 'src/attrs.rs')
-rw-r--r-- | src/attrs.rs | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/attrs.rs b/src/attrs.rs index 87acb93..7e27f5a 100644 --- a/src/attrs.rs +++ b/src/attrs.rs @@ -1,3 +1,16 @@ +#[derive(Eq, PartialEq, Debug, Copy, Clone)] +pub enum Color { + Default, + Idx(u8), + Rgb(u8, u8, u8), +} + +impl Default for Color { + fn default() -> Self { + Self::Default + } +} + #[derive(enumset::EnumSetType, Debug)] pub enum TextMode { Bold, @@ -8,8 +21,8 @@ pub enum TextMode { #[derive(Default, Clone, Copy, PartialEq, Eq, Debug)] pub struct Attrs { - pub fgcolor: crate::color::Color, - pub bgcolor: crate::color::Color, + pub fgcolor: Color, + pub bgcolor: Color, pub mode: enumset::EnumSet<TextMode>, } @@ -67,10 +80,10 @@ impl Attrs { if self.fgcolor != other.fgcolor { match self.fgcolor { - crate::color::Color::Default => { + Color::Default => { opts.push(39); } - crate::color::Color::Idx(i) => { + Color::Idx(i) => { if i < 8 { opts.push(i + 30); } else if i < 16 { @@ -81,7 +94,7 @@ impl Attrs { opts.push(i); } } - crate::color::Color::Rgb(r, g, b) => { + Color::Rgb(r, g, b) => { opts.push(38); opts.push(2); opts.push(r); @@ -93,10 +106,10 @@ impl Attrs { if self.bgcolor != other.bgcolor { match self.bgcolor { - crate::color::Color::Default => { + Color::Default => { opts.push(49); } - crate::color::Color::Idx(i) => { + Color::Idx(i) => { if i < 8 { opts.push(i + 40); } else if i < 16 { @@ -107,7 +120,7 @@ impl Attrs { opts.push(i); } } - crate::color::Color::Rgb(r, g, b) => { + Color::Rgb(r, g, b) => { opts.push(48); opts.push(2); opts.push(r); |