diff options
author | Aaron Williamson <guitarfanman@gmail.com> | 2017-04-26 20:28:18 -0600 |
---|---|---|
committer | Joe Wilm <jwilm@users.noreply.github.com> | 2017-05-01 08:52:22 -0700 |
commit | f06be732a231c218104a538abef670835d3a68b9 (patch) | |
tree | 6406bcebaef016c300cd9e92a0022b16c42ed3a9 /src | |
parent | 0a1dc56bcf0b125cfd79787148d219d9e38f85b8 (diff) | |
download | alacritty-f06be732a231c218104a538abef670835d3a68b9.tar.gz alacritty-f06be732a231c218104a538abef670835d3a68b9.zip |
Combine FontOffset and GlyphOffset structs into Delta struct
The two structs are very similar, so there is no reason for them to be
separate. Instead combine them into a single Delta struct, which can be
used to shift a point in a two dimensional plane.
Diffstat (limited to 'src')
-rw-r--r-- | src/config.rs | 58 | ||||
-rw-r--r-- | src/display.rs | 4 | ||||
-rw-r--r-- | src/renderer/mod.rs | 4 |
3 files changed, 15 insertions, 51 deletions
diff --git a/src/config.rs b/src/config.rs index c4f836db..2b46b324 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1163,54 +1163,18 @@ impl Dpi { } } -/// Modifications to font spacing -/// -/// The way Alacritty calculates vertical and horizontal cell sizes may not be -/// ideal for all fonts. This gives the user a way to tweak those values. -#[derive(Debug, Deserialize)] -pub struct FontOffset { - /// Extra horizontal spacing between letters - x: f32, - /// Extra vertical spacing between lines - y: f32, -} - -impl FontOffset { - /// Get letter spacing - #[inline] - pub fn x(&self) -> f32 { - self.x - } - - /// Get line spacing - #[inline] - pub fn y(&self) -> f32 { - self.y - } -} - -impl Default for FontOffset { - fn default() -> FontOffset { - FontOffset { x: 0.0, y: 0.0 } - } -} - -/// 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. +/// A delta for a point in a 2 dimensional plane #[derive(Clone, Copy, Debug, Deserialize)] -pub struct GlyphOffset { - /// Horizontal position +pub struct Delta { + /// Horizontal change pub x: f32, - /// Vertical position + /// Vertical change pub y: f32, } -impl Default for GlyphOffset { - fn default() -> GlyphOffset { - GlyphOffset { x: 0.0, y: 0.0 } +impl Default for Delta { + fn default() -> Delta { + Delta { x: 0.0, y: 0.0 } } } @@ -1273,11 +1237,11 @@ pub struct Font { size: Size, /// Extra spacing per character - offset: FontOffset, + offset: Delta, /// Glyph offset within character cell #[serde(default)] - glyph_offset: GlyphOffset, + glyph_offset: Delta, #[serde(default="true_bool")] use_thin_strokes: bool @@ -1316,13 +1280,13 @@ impl Font { /// Get offsets to font metrics #[inline] - pub fn offset(&self) -> &FontOffset { + pub fn offset(&self) -> &Delta { &self.offset } /// Get cell offsets for glyphs #[inline] - pub fn glyph_offset(&self) -> &GlyphOffset { + pub fn glyph_offset(&self) -> &Delta { &self.glyph_offset } } diff --git a/src/display.rs b/src/display.rs index 3d13f465..5f5dd688 100644 --- a/src/display.rs +++ b/src/display.rs @@ -171,8 +171,8 @@ impl Display { // font metrics should be computed before creating the window in the first // place so that a resize is not needed. let metrics = glyph_cache.font_metrics(); - let cell_width = (metrics.average_advance + font.offset().x() as f64) as u32; - let cell_height = (metrics.line_height + font.offset().y() as f64) as u32; + let cell_width = (metrics.average_advance + font.offset().x as f64) as u32; + let cell_height = (metrics.line_height + font.offset().y as f64) as u32; // Resize window to specified dimensions let dimensions = options.dimensions() diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index 2ec196f9..48354018 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -28,7 +28,7 @@ use gl; use index::{Line, Column, RangeInclusive}; use notify::{Watcher as WatcherApi, RecommendedWatcher as Watcher, op}; -use config::{Config, GlyphOffset}; +use config::{Config, Delta}; use term::{self, cell, RenderableCell}; use window::{Size, Pixels}; @@ -156,7 +156,7 @@ pub struct GlyphCache { font_size: font::Size, /// glyph offset - glyph_offset: GlyphOffset, + glyph_offset: Delta, } impl GlyphCache { |