diff options
author | Josh Rahm <rahm@google.com> | 2021-10-05 14:36:31 -0600 |
---|---|---|
committer | Josh Rahm <rahm@google.com> | 2021-10-05 14:36:31 -0600 |
commit | 7a209fa45f1f4d07cb4a885e8ea3d03e47cf48ae (patch) | |
tree | 026d75fdc19e19952cfba3020c118f24df4ac412 /alacritty/src/renderer/mod.rs | |
parent | 1725e30e144b04e2e2e30efc76eb968c97a0eabf (diff) | |
parent | 98fbb3f9285d8c00836e3bcfa6e1e13bf809e2a2 (diff) | |
download | r-alacritty-7a209fa45f1f4d07cb4a885e8ea3d03e47cf48ae.tar.gz r-alacritty-7a209fa45f1f4d07cb4a885e8ea3d03e47cf48ae.tar.bz2 r-alacritty-7a209fa45f1f4d07cb4a885e8ea3d03e47cf48ae.zip |
Merge remote-tracking branch 'betaboon/graphics' into experimental
Diffstat (limited to 'alacritty/src/renderer/mod.rs')
-rw-r--r-- | alacritty/src/renderer/mod.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/alacritty/src/renderer/mod.rs b/alacritty/src/renderer/mod.rs index 0173769c..fba47c40 100644 --- a/alacritty/src/renderer/mod.rs +++ b/alacritty/src/renderer/mod.rs @@ -14,6 +14,7 @@ use fnv::FnvHasher; use log::{error, info}; use unicode_width::UnicodeWidthChar; +use alacritty_terminal::graphics::UpdateQueues; use alacritty_terminal::index::Point; use alacritty_terminal::term::cell::Flags; use alacritty_terminal::term::color::Rgb; @@ -24,8 +25,10 @@ use crate::config::ui_config::{Delta, UiConfig}; use crate::display::content::RenderableCell; use crate::gl; use crate::gl::types::*; +use crate::renderer::graphics::GraphicsRenderer; use crate::renderer::rects::{RectRenderer, RenderRect}; +pub mod graphics; pub mod rects; // Shader source. @@ -439,6 +442,7 @@ pub struct QuadRenderer { batch: Batch, rect_renderer: RectRenderer, + graphics_renderer: GraphicsRenderer, } #[derive(Debug)] @@ -638,6 +642,7 @@ impl QuadRenderer { let mut renderer = Self { program, rect_renderer: RectRenderer::new()?, + graphics_renderer: GraphicsRenderer::new()?, vao, ebo, vbo_instance, @@ -682,6 +687,19 @@ impl QuadRenderer { } } + /// Run the required actions to apply changes for the graphics in the grid. + #[inline] + pub fn graphics_run_updates(&mut self, update_queues: UpdateQueues, size_info: &SizeInfo) { + self.graphics_renderer.run_updates(update_queues, size_info); + } + + /// Draw graphics visible in the display. + #[inline] + pub fn graphics_draw(&mut self, render_list: graphics::RenderList, size_info: &SizeInfo) { + self.graphics_renderer.draw(render_list, size_info); + self.active_tex = 0; + } + pub fn with_api<F, T>(&mut self, config: &UiConfig, props: &SizeInfo, func: F) -> T where F: FnOnce(RenderApi<'_>) -> T, @@ -843,6 +861,7 @@ impl<'a> RenderApi<'a> { point: Point::new(point.line, point.column + i), character, zerowidth: None, + graphic: None, flags: Flags::empty(), bg_alpha: 1.0, fg, |