From df328c13903d5a0e595d27b14f79e2a61f66f8fc Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 27 Apr 2016 02:36:30 -0400 Subject: implement fgcolor and bgcolor for cells --- src/color.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/color.rs (limited to 'src/color.rs') diff --git a/src/color.rs b/src/color.rs new file mode 100644 index 0000000..52d9d61 --- /dev/null +++ b/src/color.rs @@ -0,0 +1,23 @@ +use std; + +use types; + +#[derive(Eq,PartialEq,Debug)] +pub enum Color { + ColorDefault, + ColorIdx(u8), + ColorRgb(u8, u8, u8), +} + +impl Color { + pub fn new(color_impl: &types::ColorImpl) -> Color { + let &types::ColorImpl(color_repr) = color_impl; + let bytes: [u8; 4] = unsafe { std::mem::transmute(color_repr) }; + match bytes[3] { + 0 => Color::ColorDefault, + 1 => Color::ColorIdx(bytes[0]), + 2 => Color::ColorRgb(bytes[0], bytes[1], bytes[2]), + _ => panic!("invalid color type"), + } + } +} -- cgit v1.2.3-54-g00ecf