aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorAaron Williamson <guitarfanman@gmail.com>2017-01-15 10:38:04 -0700
committerJoe Wilm <jwilm@users.noreply.github.com>2017-05-01 08:52:22 -0700
commit0a1dc56bcf0b125cfd79787148d219d9e38f85b8 (patch)
treed30a7eec40922926355efb915127b80b3c109cf8 /src/config.rs
parent1277e07671a15b87832af90c7244a0cac480b829 (diff)
downloadalacritty-0a1dc56bcf0b125cfd79787148d219d9e38f85b8.tar.gz
alacritty-0a1dc56bcf0b125cfd79787148d219d9e38f85b8.zip
Add glyph offset option to user configuration
Add the ability to move glyphs within their cells on a global basis via an option in the configuration file.
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs35
1 files changed, 33 insertions, 2 deletions
diff --git a/src/config.rs b/src/config.rs
index 61bdb256..c4f836db 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -1195,6 +1195,25 @@ impl Default for FontOffset {
}
}
+/// Modifications to glyph positions within their cells
+///
+/// By default the glyphs are located at the bottom of the cell which can be
+/// undesirable. This gives the user a way to shift where the glyphs are
+/// displayed in their cells.
+#[derive(Clone, Copy, Debug, Deserialize)]
+pub struct GlyphOffset {
+ /// Horizontal position
+ pub x: f32,
+ /// Vertical position
+ pub y: f32,
+}
+
+impl Default for GlyphOffset {
+ fn default() -> GlyphOffset {
+ GlyphOffset { x: 0.0, y: 0.0 }
+ }
+}
+
trait DeserializeFromF32 : Sized {
fn deserialize_from_f32<D>(D) -> ::std::result::Result<Self, D::Error>
where D: serde::de::Deserializer;
@@ -1256,6 +1275,10 @@ pub struct Font {
/// Extra spacing per character
offset: FontOffset,
+ /// Glyph offset within character cell
+ #[serde(default)]
+ glyph_offset: GlyphOffset,
+
#[serde(default="true_bool")]
use_thin_strokes: bool
}
@@ -1296,6 +1319,12 @@ impl Font {
pub fn offset(&self) -> &FontOffset {
&self.offset
}
+
+ /// Get cell offsets for glyphs
+ #[inline]
+ pub fn glyph_offset(&self) -> &GlyphOffset {
+ &self.glyph_offset
+ }
}
#[cfg(target_os = "macos")]
@@ -1307,7 +1336,8 @@ impl Default for Font {
italic: FontDescription::new_with_family("Menlo"),
size: Size::new(11.0),
use_thin_strokes: true,
- offset: Default::default()
+ offset: Default::default(),
+ glyph_offset: Default::default()
}
}
}
@@ -1321,7 +1351,8 @@ impl Default for Font {
italic: FontDescription::new_with_family("monospace"),
size: Size::new(11.0),
use_thin_strokes: false,
- offset: Default::default()
+ offset: Default::default(),
+ glyph_offset: Default::default()
}
}
}