diff options
author | Kirill Chibisov <wchibisovkirill@gmail.com> | 2019-12-10 01:12:44 +0300 |
---|---|---|
committer | Christian Duerr <contact@christianduerr.com> | 2019-12-09 23:12:44 +0100 |
commit | 79b19176eeb57fbd6b137160afd6bc9f5518ad33 (patch) | |
tree | a3f76e83973e1bba2090afe39fbaa688d48efbf6 /font/src/lib.rs | |
parent | 88b4dbfc5a890569fcfac3fe400fe0ad0ea234cc (diff) | |
download | r-alacritty-79b19176eeb57fbd6b137160afd6bc9f5518ad33.tar.gz r-alacritty-79b19176eeb57fbd6b137160afd6bc9f5518ad33.tar.bz2 r-alacritty-79b19176eeb57fbd6b137160afd6bc9f5518ad33.zip |
Add support for colored emojis on Linux/BSD
Fixes #153.
Diffstat (limited to 'font/src/lib.rs')
-rw-r--r-- | font/src/lib.rs | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/font/src/lib.rs b/font/src/lib.rs index 262cf911..8fd0f628 100644 --- a/font/src/lib.rs +++ b/font/src/lib.rs @@ -220,20 +220,25 @@ pub struct RasterizedGlyph { pub height: i32, pub top: i32, pub left: i32, - pub buf: Vec<u8>, + pub buf: BitmapBuffer, } -impl Default for RasterizedGlyph { - fn default() -> RasterizedGlyph { - RasterizedGlyph { c: ' ', width: 0, height: 0, top: 0, left: 0, buf: Vec::new() } - } +#[derive(Clone, Debug)] +pub enum BitmapBuffer { + RGB(Vec<u8>), + RGBA(Vec<u8>), } -struct BufDebugger<'a>(&'a [u8]); - -impl<'a> fmt::Debug for BufDebugger<'a> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_struct("GlyphBuffer").field("len", &self.0.len()).field("bytes", &self.0).finish() +impl Default for RasterizedGlyph { + fn default() -> RasterizedGlyph { + RasterizedGlyph { + c: ' ', + width: 0, + height: 0, + top: 0, + left: 0, + buf: BitmapBuffer::RGB(Vec::new()), + } } } @@ -245,7 +250,7 @@ impl fmt::Debug for RasterizedGlyph { .field("height", &self.height) .field("top", &self.top) .field("left", &self.left) - .field("buf", &BufDebugger(&self.buf[..])) + .field("buf", &self.buf) .finish() } } |