diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-13 10:31:30 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-13 13:30:36 +0400 |
| commit | f625dede1a2a002527f8297cfecef8b0bd4b10a2 (patch) | |
| tree | 7c6b83c5a500afe489ec08994482c026d6591a84 /src | |
| parent | b8e6d4b7eb5dd472479e2bcb05c9b318b51fe7e0 (diff) | |
| download | niri-f625dede1a2a002527f8297cfecef8b0bd4b10a2.tar.gz niri-f625dede1a2a002527f8297cfecef8b0bd4b10a2.tar.bz2 niri-f625dede1a2a002527f8297cfecef8b0bd4b10a2.zip | |
Extract niri.clear_color()
Diffstat (limited to 'src')
| -rw-r--r-- | src/backend/tty.rs | 3 | ||||
| -rw-r--r-- | src/backend/winit.rs | 3 | ||||
| -rw-r--r-- | src/niri.rs | 12 |
3 files changed, 13 insertions, 5 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 5ad08649..a1c75c8d 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -43,7 +43,6 @@ use crate::niri::{OutputRenderElements, State, RedrawState}; use crate::utils::get_monotonic_time; use crate::Niri; -const BACKGROUND_COLOR: [f32; 4] = [0.1, 0.1, 0.1, 1.]; const SUPPORTED_COLOR_FORMATS: &[Fourcc] = &[Fourcc::Argb8888, Fourcc::Abgr8888]; pub struct Tty { @@ -858,7 +857,7 @@ impl Tty { match drm_compositor.render_frame::<_, _, GlesTexture>( &mut device.gles, elements, - BACKGROUND_COLOR, + niri.clear_color(), ) { Ok(res) => { if self diff --git a/src/backend/winit.rs b/src/backend/winit.rs index d1abfac2..41da8ab6 100644 --- a/src/backend/winit.rs +++ b/src/backend/winit.rs @@ -157,9 +157,10 @@ impl Winit { self.backend.bind().unwrap(); let age = self.backend.buffer_age().unwrap(); + let clear_color = niri.clear_color(); let res = self .damage_tracker - .render_output(self.backend.renderer(), age, elements, [0.1, 0.1, 0.1, 1.0]) + .render_output(self.backend.renderer(), age, elements, clear_color) .unwrap(); niri.update_primary_scanout_output(output, &res.states); diff --git a/src/niri.rs b/src/niri.rs index 002729c2..fb5a1afc 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -888,6 +888,10 @@ impl Niri { }; } + pub fn clear_color(&self) -> [f32; 4] { + [0.1, 0.1, 0.1, 1.0] + } + pub fn pointer_element( &mut self, renderer: &mut GlesRenderer, @@ -1417,6 +1421,7 @@ impl Niri { let size = output.current_mode().unwrap().size; let scale = Scale::from(output.current_scale().fractional_scale()); + let clear_color = self.clear_color(); for cast in &mut self.casts { if !cast.is_active.get() { @@ -1452,7 +1457,9 @@ impl Niri { let dmabuf = cast.dmabufs.borrow()[&fd].clone(); // FIXME: Hidden / embedded / metadata cursor - if let Err(err) = render_to_dmabuf(renderer, dmabuf, size, scale, elements) { + if let Err(err) = + render_to_dmabuf(renderer, dmabuf, size, scale, clear_color, elements) + { error!("error rendering to dmabuf: {err:?}"); continue; } @@ -1735,6 +1742,7 @@ fn render_to_dmabuf( dmabuf: smithay::backend::allocator::dmabuf::Dmabuf, size: Size<i32, Physical>, scale: Scale<f64>, + clear_color: [f32; 4], elements: &[OutputRenderElements<GlesRenderer>], ) -> anyhow::Result<()> { use smithay::backend::renderer::element::Element; @@ -1749,7 +1757,7 @@ fn render_to_dmabuf( .context("error starting frame")?; frame - .clear([0.1, 0.1, 0.1, 1.], &[output_rect]) + .clear(clear_color, &[output_rect]) .context("error clearing")?; for element in elements.iter().rev() { |
