aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/renderer/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/renderer/mod.rs')
-rw-r--r--alacritty/src/renderer/mod.rs70
1 files changed, 23 insertions, 47 deletions
diff --git a/alacritty/src/renderer/mod.rs b/alacritty/src/renderer/mod.rs
index da5f68a0..e97ac025 100644
--- a/alacritty/src/renderer/mod.rs
+++ b/alacritty/src/renderer/mod.rs
@@ -26,7 +26,6 @@ use alacritty_terminal::thread;
use crate::config::font::{Font, FontDescription};
use crate::config::ui_config::{Delta, UIConfig};
-use crate::config::window::{StartupMode, WindowConfig};
use crate::cursor;
use crate::gl;
use crate::gl::types::*;
@@ -231,7 +230,7 @@ impl GlyphCache {
if desc == regular_desc {
regular
} else {
- rasterizer.load_font(&desc, size).unwrap_or_else(|_| regular)
+ rasterizer.load_font(&desc, size).unwrap_or(regular)
}
};
@@ -358,34 +357,6 @@ impl GlyphCache {
rasterizer.metrics(regular, font.size)
}
-
- pub fn calculate_dimensions(
- window_config: &WindowConfig,
- dpr: f64,
- cell_width: f32,
- cell_height: f32,
- ) -> Option<(u32, u32)> {
- let dimensions = window_config.dimensions;
-
- if dimensions.columns_u32() == 0
- || dimensions.lines_u32() == 0
- || window_config.startup_mode != StartupMode::Windowed
- {
- return None;
- }
-
- let padding_x = f64::from(window_config.padding.x) * dpr;
- let padding_y = f64::from(window_config.padding.y) * dpr;
-
- // Calculate new size based on cols/lines specified in config.
- let grid_width = cell_width as u32 * dimensions.columns_u32();
- let grid_height = cell_height as u32 * dimensions.lines_u32();
-
- let width = padding_x.mul_add(2., f64::from(grid_width)).floor();
- let height = padding_y.mul_add(2., f64::from(grid_height)).floor();
-
- Some((width as u32, height as u32))
- }
}
#[derive(Debug)]
@@ -705,7 +676,7 @@ impl QuadRenderer {
gl::UseProgram(self.rect_program.id);
// Remove padding from viewport.
- gl::Viewport(0, 0, props.width as i32, props.height as i32);
+ gl::Viewport(0, 0, props.width() as i32, props.height() as i32);
// Change blending strategy.
gl::BlendFuncSeparate(gl::SRC_ALPHA, gl::ONE_MINUS_SRC_ALPHA, gl::SRC_ALPHA, gl::ONE);
@@ -740,10 +711,10 @@ impl QuadRenderer {
gl::BindBuffer(gl::ARRAY_BUFFER, 0);
gl::BindVertexArray(0);
- let padding_x = props.padding_x as i32;
- let padding_y = props.padding_y as i32;
- let width = props.width as i32;
- let height = props.height as i32;
+ let padding_x = props.padding_x() as i32;
+ let padding_y = props.padding_y() as i32;
+ let width = props.width() as i32;
+ let height = props.height() as i32;
gl::Viewport(padding_x, padding_y, width - 2 * padding_x, height - 2 * padding_y);
// Disable program.
@@ -821,10 +792,10 @@ impl QuadRenderer {
unsafe {
gl::UseProgram(program.id);
program.update_projection(
- props.width,
- props.height,
- props.padding_x,
- props.padding_y,
+ props.width(),
+ props.height(),
+ props.padding_x(),
+ props.padding_y(),
);
gl::UseProgram(0);
}
@@ -847,15 +818,20 @@ impl QuadRenderer {
// Viewport.
unsafe {
gl::Viewport(
- size.padding_x as i32,
- size.padding_y as i32,
- size.width as i32 - 2 * size.padding_x as i32,
- size.height as i32 - 2 * size.padding_y as i32,
+ size.padding_x() as i32,
+ size.padding_y() as i32,
+ size.width() as i32 - 2 * size.padding_x() as i32,
+ size.height() as i32 - 2 * size.padding_y() as i32,
);
// Update projection.
gl::UseProgram(self.program.id);
- self.program.update_projection(size.width, size.height, size.padding_x, size.padding_y);
+ self.program.update_projection(
+ size.width(),
+ size.height(),
+ size.padding_x(),
+ size.padding_y(),
+ );
gl::UseProgram(0);
}
}
@@ -870,8 +846,8 @@ impl QuadRenderer {
}
// Calculate rectangle position.
- let center_x = size.width / 2.;
- let center_y = size.height / 2.;
+ let center_x = size.width() / 2.;
+ let center_y = size.height() / 2.;
let x = (rect.x - center_x) / center_x;
let y = -(rect.y - center_y) / center_y;
let width = rect.width / center_x;
@@ -1226,7 +1202,7 @@ impl TextShaderProgram {
fn set_term_uniforms(&self, props: &SizeInfo) {
unsafe {
- gl::Uniform2f(self.u_cell_dim, props.cell_width, props.cell_height);
+ gl::Uniform2f(self.u_cell_dim, props.cell_width(), props.cell_height());
}
}