From 074347c71d531a231e143fc9167e5b622f604222 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Mon, 23 Oct 2023 19:59:30 +0200 Subject: [PATCH] render: remove on_output --- src/backends/metal/video.rs | 3 +-- src/backends/x.rs | 3 +-- src/gfx_api.rs | 3 +-- src/gfx_apis/gl/renderer/framebuffer.rs | 15 ++++----------- src/renderer.rs | 9 ++++----- src/screenshoter.rs | 3 +-- 6 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/backends/metal/video.rs b/src/backends/metal/video.rs index 978a5c9f..55e8e70a 100644 --- a/src/backends/metal/video.rs +++ b/src/backends/metal/video.rs @@ -364,8 +364,7 @@ impl MetalConnector { &*node, &self.state, Some(node.global.pos.get()), - true, - &mut rr, + Some(&mut rr), node.preferred_scale.get(), !self.cursor_enabled.get(), ); diff --git a/src/backends/x.rs b/src/backends/x.rs index d2a96bb7..3b62ab10 100644 --- a/src/backends/x.rs +++ b/src/backends/x.rs @@ -727,8 +727,7 @@ impl XBackend { &*node, &self.state, Some(node.global.pos.get()), - true, - rr.deref_mut(), + Some(rr.deref_mut()), node.preferred_scale.get(), true, ); diff --git a/src/gfx_api.rs b/src/gfx_api.rs index 00e8971f..c425c18e 100644 --- a/src/gfx_api.rs +++ b/src/gfx_api.rs @@ -143,8 +143,7 @@ pub trait GfxFramebuffer: Debug { node: &dyn Node, state: &State, cursor_rect: Option, - on_output: bool, - result: &mut RenderResult, + result: Option<&mut RenderResult>, scale: Scale, render_hardware_cursor: bool, ); diff --git a/src/gfx_apis/gl/renderer/framebuffer.rs b/src/gfx_apis/gl/renderer/framebuffer.rs index 1d73d475..7c884252 100644 --- a/src/gfx_apis/gl/renderer/framebuffer.rs +++ b/src/gfx_apis/gl/renderer/framebuffer.rs @@ -78,8 +78,7 @@ impl Framebuffer { scalef: 1.0, }, state, - on_output: false, - result: &mut RenderResult::default(), + result: None, logical_extents: extents, physical_extents: extents, }; @@ -166,8 +165,7 @@ impl Framebuffer { node: &dyn Node, state: &State, cursor_rect: Option, - on_output: bool, - result: &mut RenderResult, + result: Option<&mut RenderResult>, scale: Scale, render_hardware_cursor: bool, ) { @@ -181,7 +179,6 @@ impl Framebuffer { scalef: scale.to_f64(), }, state, - on_output, result, logical_extents: node.node_absolute_position().at_point(0, 0), physical_extents: Rect::new(0, 0, self.gl.width, self.gl.height).unwrap(), @@ -231,7 +228,6 @@ impl Framebuffer { pub fn render_hardware_cursor(&self, cursor: &dyn Cursor, state: &State, scale: Scale) { let mut ops = self.ctx.gfx_ops.borrow_mut(); ops.clear(); - let mut res = RenderResult::default(); let mut renderer = Renderer { base: RendererBase { ops: &mut ops, @@ -240,8 +236,7 @@ impl Framebuffer { scalef: scale.to_f64(), }, state, - on_output: false, - result: &mut res, + result: None, logical_extents: Rect::new_empty(0, 0), physical_extents: Rect::new(0, 0, self.gl.width, self.gl.height).unwrap(), }; @@ -308,8 +303,7 @@ impl GfxFramebuffer for Framebuffer { node: &dyn Node, state: &State, cursor_rect: Option, - on_output: bool, - result: &mut RenderResult, + result: Option<&mut RenderResult>, scale: Scale, render_hardware_cursor: bool, ) { @@ -317,7 +311,6 @@ impl GfxFramebuffer for Framebuffer { node, state, cursor_rect, - on_output, result, scale, render_hardware_cursor, diff --git a/src/renderer.rs b/src/renderer.rs index 8d1768d1..ffb54340 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -45,8 +45,7 @@ impl Debug for RenderResult { pub struct Renderer<'a> { pub base: RendererBase<'a>, pub state: &'a State, - pub on_output: bool, - pub result: &'a mut RenderResult, + pub result: Option<&'a mut RenderResult>, pub logical_extents: Rect, pub physical_extents: Rect, } @@ -367,14 +366,14 @@ impl Renderer<'_> { } else { self.render_buffer(&buffer, x, y, *tpoints, size, max_width, max_height); } - if self.on_output { + if let Some(result) = self.result.as_deref_mut() { { let mut fr = surface.frame_requests.borrow_mut(); - self.result.frame_requests.extend(fr.drain(..)); + result.frame_requests.extend(fr.drain(..)); } { let mut fbs = surface.presentation_feedback.borrow_mut(); - self.result.presentation_feedbacks.extend(fbs.drain(..)); + result.presentation_feedbacks.extend(fbs.drain(..)); } } } diff --git a/src/screenshoter.rs b/src/screenshoter.rs index 2fea0a97..793303a4 100644 --- a/src/screenshoter.rs +++ b/src/screenshoter.rs @@ -59,8 +59,7 @@ pub fn take_screenshot(state: &State) -> Result state.root.deref(), state, Some(state.root.extents.get()), - false, - &mut Default::default(), + None, Scale::from_int(1), true, );