mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-24 02:01:18 +07:00
layout: Make generic over Renderer
This commit is contained in:
@@ -5,7 +5,7 @@ use std::time::Duration;
|
|||||||
use smithay::backend::renderer::element::utils::{
|
use smithay::backend::renderer::element::utils::{
|
||||||
CropRenderElement, Relocate, RelocateRenderElement,
|
CropRenderElement, Relocate, RelocateRenderElement,
|
||||||
};
|
};
|
||||||
use smithay::backend::renderer::gles::GlesRenderer;
|
use smithay::backend::renderer::{ImportAll, Renderer};
|
||||||
use smithay::desktop::Window;
|
use smithay::desktop::Window;
|
||||||
use smithay::output::Output;
|
use smithay::output::Output;
|
||||||
use smithay::utils::{Logical, Point, Rectangle, Scale};
|
use smithay::utils::{Logical, Point, Rectangle, Scale};
|
||||||
@@ -506,10 +506,13 @@ impl<W: LayoutElement> Monitor<W> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Monitor<Window> {
|
impl Monitor<Window> {
|
||||||
pub fn render_elements(
|
pub fn render_elements<R: Renderer + ImportAll>(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut GlesRenderer,
|
renderer: &mut R,
|
||||||
) -> Vec<MonitorRenderElement<GlesRenderer>> {
|
) -> Vec<MonitorRenderElement<R>>
|
||||||
|
where
|
||||||
|
<R as Renderer>::TextureId: 'static,
|
||||||
|
{
|
||||||
let _span = tracy_client::span!("Monitor::render_elements");
|
let _span = tracy_client::span!("Monitor::render_elements");
|
||||||
|
|
||||||
let output_scale = Scale::from(self.output.current_scale().fractional_scale());
|
let output_scale = Scale::from(self.output.current_scale().fractional_scale());
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ use std::time::Duration;
|
|||||||
|
|
||||||
use smithay::backend::renderer::element::surface::WaylandSurfaceRenderElement;
|
use smithay::backend::renderer::element::surface::WaylandSurfaceRenderElement;
|
||||||
use smithay::backend::renderer::element::utils::RelocateRenderElement;
|
use smithay::backend::renderer::element::utils::RelocateRenderElement;
|
||||||
use smithay::backend::renderer::gles::GlesRenderer;
|
use smithay::backend::renderer::{ImportAll, Renderer};
|
||||||
use smithay::backend::renderer::ImportAll;
|
|
||||||
use smithay::desktop::space::SpaceElement;
|
use smithay::desktop::space::SpaceElement;
|
||||||
use smithay::desktop::{layer_map_for_output, Window};
|
use smithay::desktop::{layer_map_for_output, Window};
|
||||||
use smithay::output::Output;
|
use smithay::output::Output;
|
||||||
@@ -950,10 +949,13 @@ impl Workspace<Window> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn render_elements(
|
pub fn render_elements<R: Renderer + ImportAll>(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut GlesRenderer,
|
renderer: &mut R,
|
||||||
) -> Vec<WorkspaceRenderElement<GlesRenderer>> {
|
) -> Vec<WorkspaceRenderElement<R>>
|
||||||
|
where
|
||||||
|
<R as Renderer>::TextureId: 'static,
|
||||||
|
{
|
||||||
if self.columns.is_empty() {
|
if self.columns.is_empty() {
|
||||||
return vec![];
|
return vec![];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user