diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-01 15:36:37 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-01 17:31:58 +0400 |
| commit | e005a795e7c2ea53116fc386a539151690523c11 (patch) | |
| tree | 1a0b15073ec1f9d67ba6a9dbd7fa326892a6ce40 | |
| parent | 655fe413fb6d51461519aa77439f745598fa2eef (diff) | |
| download | niri-e005a795e7c2ea53116fc386a539151690523c11.tar.gz niri-e005a795e7c2ea53116fc386a539151690523c11.tar.bz2 niri-e005a795e7c2ea53116fc386a539151690523c11.zip | |
layout: Make generic over Renderer
| -rw-r--r-- | src/layout/monitor.rs | 11 | ||||
| -rw-r--r-- | src/layout/workspace.rs | 12 |
2 files changed, 14 insertions, 9 deletions
diff --git a/src/layout/monitor.rs b/src/layout/monitor.rs index e87907cc..444316a4 100644 --- a/src/layout/monitor.rs +++ b/src/layout/monitor.rs @@ -5,7 +5,7 @@ use std::time::Duration; use smithay::backend::renderer::element::utils::{ CropRenderElement, Relocate, RelocateRenderElement, }; -use smithay::backend::renderer::gles::GlesRenderer; +use smithay::backend::renderer::{ImportAll, Renderer}; use smithay::desktop::Window; use smithay::output::Output; use smithay::utils::{Logical, Point, Rectangle, Scale}; @@ -506,10 +506,13 @@ impl<W: LayoutElement> Monitor<W> { } impl Monitor<Window> { - pub fn render_elements( + pub fn render_elements<R: Renderer + ImportAll>( &self, - renderer: &mut GlesRenderer, - ) -> Vec<MonitorRenderElement<GlesRenderer>> { + renderer: &mut R, + ) -> Vec<MonitorRenderElement<R>> + where + <R as Renderer>::TextureId: 'static, + { let _span = tracy_client::span!("Monitor::render_elements"); let output_scale = Scale::from(self.output.current_scale().fractional_scale()); diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index 9eece227..0ca207cf 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -5,8 +5,7 @@ use std::time::Duration; use smithay::backend::renderer::element::surface::WaylandSurfaceRenderElement; use smithay::backend::renderer::element::utils::RelocateRenderElement; -use smithay::backend::renderer::gles::GlesRenderer; -use smithay::backend::renderer::ImportAll; +use smithay::backend::renderer::{ImportAll, Renderer}; use smithay::desktop::space::SpaceElement; use smithay::desktop::{layer_map_for_output, Window}; use smithay::output::Output; @@ -950,10 +949,13 @@ impl Workspace<Window> { } } - pub fn render_elements( + pub fn render_elements<R: Renderer + ImportAll>( &self, - renderer: &mut GlesRenderer, - ) -> Vec<WorkspaceRenderElement<GlesRenderer>> { + renderer: &mut R, + ) -> Vec<WorkspaceRenderElement<R>> + where + <R as Renderer>::TextureId: 'static, + { if self.columns.is_empty() { return vec![]; } |
