1
0
Fork 0
forked from wry/wry

render: remove on_output

This commit is contained in:
Julian Orth 2023-10-23 19:59:30 +02:00
parent f702bf98d7
commit 074347c71d
6 changed files with 12 additions and 24 deletions

View file

@ -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(),
);

View file

@ -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,
);

View file

@ -143,8 +143,7 @@ pub trait GfxFramebuffer: Debug {
node: &dyn Node,
state: &State,
cursor_rect: Option<Rect>,
on_output: bool,
result: &mut RenderResult,
result: Option<&mut RenderResult>,
scale: Scale,
render_hardware_cursor: bool,
);

View file

@ -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<Rect>,
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<Rect>,
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,

View file

@ -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(..));
}
}
}

View file

@ -59,8 +59,7 @@ pub fn take_screenshot(state: &State) -> Result<Screenshot, ScreenshooterError>
state.root.deref(),
state,
Some(state.root.extents.get()),
false,
&mut Default::default(),
None,
Scale::from_int(1),
true,
);