Move some trait bounds to definition of AsGlowRenderer
Everything implementing `AsGlowRenderer` implements `Renderer` and various other traits, and by making `AsGlowRenderer` depend on these trait, things requiring `AsGlowRenderer` can avoid listing those traits as well. Looks like implied trait bounds still won't work for the `Self::TexutureId` and `Self::Error` requirements? So those are not included here.
This commit is contained in:
parent
0414e4fec1
commit
c0c7a26178
9 changed files with 86 additions and 93 deletions
|
|
@ -1,19 +1,22 @@
|
|||
use crate::shell::{CosmicMappedRenderElement, WorkspaceRenderElement};
|
||||
|
||||
#[cfg(feature = "debug")]
|
||||
use smithay::backend::renderer::{element::texture::TextureRenderElement, gles::GlesTexture};
|
||||
use smithay::backend::renderer::element::texture::TextureRenderElement;
|
||||
use smithay::{
|
||||
backend::renderer::{
|
||||
ImportAll, ImportMem, Renderer,
|
||||
element::{
|
||||
Element, Id, Kind, RenderElement, UnderlyingStorage,
|
||||
memory::MemoryRenderBufferRenderElement,
|
||||
surface::WaylandSurfaceRenderElement,
|
||||
utils::{CropRenderElement, Relocate, RelocateRenderElement, RescaleRenderElement},
|
||||
backend::{
|
||||
allocator::dmabuf::Dmabuf,
|
||||
renderer::{
|
||||
Bind, Blit, ExportMem, ImportAll, ImportMem, Offscreen, Renderer,
|
||||
element::{
|
||||
Element, Id, Kind, RenderElement, UnderlyingStorage,
|
||||
memory::MemoryRenderBufferRenderElement,
|
||||
surface::WaylandSurfaceRenderElement,
|
||||
utils::{CropRenderElement, Relocate, RelocateRenderElement, RescaleRenderElement},
|
||||
},
|
||||
gles::{GlesError, GlesRenderbuffer, GlesTexture, element::TextureShaderElement},
|
||||
glow::{GlowFrame, GlowRenderer},
|
||||
utils::{CommitCounter, DamageSet, OpaqueRegions},
|
||||
},
|
||||
gles::{GlesError, element::TextureShaderElement},
|
||||
glow::{GlowFrame, GlowRenderer},
|
||||
utils::{CommitCounter, DamageSet, OpaqueRegions},
|
||||
},
|
||||
utils::{Buffer as BufferCoords, Logical, Physical, Point, Rectangle, Scale},
|
||||
};
|
||||
|
|
@ -22,7 +25,7 @@ use super::{GlMultiRenderer, cursor::CursorRenderElement};
|
|||
|
||||
pub enum CosmicElement<R>
|
||||
where
|
||||
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -42,7 +45,7 @@ where
|
|||
|
||||
impl<R> Element for CosmicElement<R>
|
||||
where
|
||||
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -183,7 +186,7 @@ where
|
|||
|
||||
impl<R> RenderElement<R> for CosmicElement<R>
|
||||
where
|
||||
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -253,7 +256,7 @@ where
|
|||
impl<R> From<CropRenderElement<RescaleRenderElement<WorkspaceRenderElement<R>>>>
|
||||
for CosmicElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -268,7 +271,7 @@ where
|
|||
|
||||
impl<R> From<MemoryRenderBufferRenderElement<R>> for CosmicElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -280,7 +283,7 @@ where
|
|||
#[cfg(feature = "debug")]
|
||||
impl<R> From<TextureRenderElement<GlesTexture>> for CosmicElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -289,9 +292,15 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
pub trait AsGlowRenderer
|
||||
where
|
||||
Self: Renderer,
|
||||
pub trait AsGlowRenderer:
|
||||
Renderer
|
||||
+ Offscreen<GlesTexture>
|
||||
+ Offscreen<GlesRenderbuffer>
|
||||
+ ImportAll
|
||||
+ ImportMem
|
||||
+ ExportMem
|
||||
+ Bind<Dmabuf>
|
||||
+ Blit
|
||||
{
|
||||
fn glow_renderer(&self) -> &GlowRenderer;
|
||||
fn glow_renderer_mut(&mut self) -> &mut GlowRenderer;
|
||||
|
|
|
|||
|
|
@ -45,11 +45,10 @@ use cosmic::Theme;
|
|||
use element::FromGlesError;
|
||||
use smithay::{
|
||||
backend::{
|
||||
allocator::{Fourcc, dmabuf::Dmabuf},
|
||||
allocator::Fourcc,
|
||||
drm::{DrmDeviceFd, DrmNode},
|
||||
renderer::{
|
||||
Bind, Blit, Color32F, ExportMem, ImportAll, ImportMem, Offscreen, Renderer, Texture,
|
||||
TextureFilter,
|
||||
Color32F, ImportAll, Offscreen, Renderer, Texture, TextureFilter,
|
||||
damage::{Error as RenderError, OutputDamageTracker, RenderOutputResult},
|
||||
element::{
|
||||
Element, Id, Kind, RenderElement, WeakId,
|
||||
|
|
@ -478,7 +477,7 @@ pub fn cursor_elements<'a, 'frame, R>(
|
|||
exclude_dnd_icon: bool,
|
||||
) -> Vec<CosmicElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -620,7 +619,7 @@ pub fn output_elements<R>(
|
|||
_fps: Option<(&EguiState, &Timings)>,
|
||||
) -> Result<Vec<CosmicElement<R>>, RenderError<R::Error>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -718,7 +717,7 @@ pub fn workspace_elements<R>(
|
|||
element_filter: ElementFilter,
|
||||
) -> Result<Vec<CosmicElement<R>>, RenderError<R::Error>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -1060,7 +1059,7 @@ pub struct PostprocessState {
|
|||
}
|
||||
|
||||
impl PostprocessState {
|
||||
pub fn new_with_renderer<R: AsGlowRenderer + Offscreen<GlesTexture>>(
|
||||
pub fn new_with_renderer<R: AsGlowRenderer>(
|
||||
renderer: &mut R,
|
||||
format: Fourcc,
|
||||
output_config: PostprocessOutputConfig,
|
||||
|
|
@ -1091,7 +1090,7 @@ impl PostprocessState {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn track_cursor<R: AsGlowRenderer + Offscreen<GlesTexture>>(
|
||||
pub fn track_cursor<R: AsGlowRenderer>(
|
||||
&mut self,
|
||||
renderer: &mut R,
|
||||
format: Fourcc,
|
||||
|
|
@ -1193,14 +1192,7 @@ pub fn render_output<'d, R>(
|
|||
loop_handle: &calloop::LoopHandle<'static, State>,
|
||||
) -> Result<RenderOutputResult<'d>, RenderError<R::Error>>
|
||||
where
|
||||
R: Renderer
|
||||
+ ImportAll
|
||||
+ ImportMem
|
||||
+ ExportMem
|
||||
+ Bind<Dmabuf>
|
||||
+ Offscreen<GlesTexture>
|
||||
+ Blit
|
||||
+ AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
|
|
@ -1505,7 +1497,7 @@ pub fn render_workspace<'d, R>(
|
|||
element_filter: ElementFilter,
|
||||
) -> Result<(RenderOutputResult<'d>, Vec<CosmicElement<R>>), RenderError<R::Error>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ use smithay::{
|
|||
backend::{
|
||||
input::KeyState,
|
||||
renderer::{
|
||||
ImportAll, ImportMem, Renderer,
|
||||
element::{
|
||||
Element, RenderElement, UnderlyingStorage,
|
||||
memory::MemoryRenderBufferRenderElement,
|
||||
|
|
@ -571,7 +570,7 @@ impl CosmicMapped {
|
|||
alpha: f32,
|
||||
) -> Vec<C>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
C: From<CosmicMappedRenderElement<R>>,
|
||||
|
|
@ -602,7 +601,7 @@ impl CosmicMapped {
|
|||
alpha: f32,
|
||||
) -> Option<C>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
C: From<CosmicMappedRenderElement<R>>,
|
||||
|
|
@ -646,7 +645,7 @@ impl CosmicMapped {
|
|||
scanout_override: Option<bool>,
|
||||
) -> Vec<C>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
C: From<CosmicMappedRenderElement<R>>,
|
||||
|
|
@ -1061,7 +1060,7 @@ impl From<CosmicStack> for CosmicMapped {
|
|||
|
||||
pub enum CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
{
|
||||
Stack(self::stack::CosmicStackRenderElement<R>),
|
||||
|
|
@ -1096,7 +1095,7 @@ where
|
|||
|
||||
impl<R> Element for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
{
|
||||
fn id(&self) -> &smithay::backend::renderer::element::Id {
|
||||
|
|
@ -1279,7 +1278,7 @@ where
|
|||
|
||||
impl<R> RenderElement<R> for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
R::Error: FromGlesError,
|
||||
{
|
||||
|
|
@ -1395,7 +1394,7 @@ where
|
|||
|
||||
impl<R> From<stack::CosmicStackRenderElement<R>> for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -1405,7 +1404,7 @@ where
|
|||
}
|
||||
impl<R> From<window::CosmicWindowRenderElement<R>> for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -1416,7 +1415,7 @@ where
|
|||
|
||||
impl<R> From<PixelShaderElement> for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -1427,7 +1426,7 @@ where
|
|||
|
||||
impl<R> From<MemoryRenderBufferRenderElement<R>> for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -1439,7 +1438,7 @@ where
|
|||
#[cfg(feature = "debug")]
|
||||
impl<R> From<TextureRenderElement<GlesTexture>> for CosmicMappedRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
|
|||
|
|
@ -636,7 +636,7 @@ impl CosmicStack {
|
|||
alpha: f32,
|
||||
) -> Vec<C>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
C: From<CosmicStackRenderElement<R>>,
|
||||
{
|
||||
|
|
@ -665,7 +665,7 @@ impl CosmicStack {
|
|||
alpha: f32,
|
||||
) -> Option<C>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
C: From<CosmicStackRenderElement<R>>,
|
||||
{
|
||||
|
|
@ -732,7 +732,7 @@ impl CosmicStack {
|
|||
scanout_override: Option<bool>,
|
||||
) -> Vec<C>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
C: From<CosmicStackRenderElement<R>>,
|
||||
{
|
||||
|
|
@ -1997,7 +1997,7 @@ where
|
|||
|
||||
impl<R> RenderElement<R> for CosmicStackRenderElement<R>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
R::Error: FromGlesError,
|
||||
{
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ impl CosmicWindow {
|
|||
alpha: f32,
|
||||
) -> Option<C>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
C: From<CosmicWindowRenderElement<R>>,
|
||||
{
|
||||
|
|
@ -444,7 +444,7 @@ impl CosmicWindow {
|
|||
scanout_override: Option<bool>,
|
||||
) -> Vec<C>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
C: From<CosmicWindowRenderElement<R>>,
|
||||
{
|
||||
|
|
@ -1358,7 +1358,7 @@ where
|
|||
|
||||
impl<R> RenderElement<R> for CosmicWindowRenderElement<R>
|
||||
where
|
||||
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
R::Error: FromGlesError,
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,12 +10,9 @@ use cosmic_comp_config::AppearanceConfig;
|
|||
use cosmic_settings_config::shortcuts::action::ResizeDirection;
|
||||
use keyframe::{ease, functions::EaseInOutCubic};
|
||||
use smithay::{
|
||||
backend::renderer::{
|
||||
ImportAll, ImportMem, Renderer,
|
||||
element::{
|
||||
AsRenderElements, RenderElement,
|
||||
utils::{Relocate, RelocateRenderElement, RescaleRenderElement},
|
||||
},
|
||||
backend::renderer::element::{
|
||||
AsRenderElements, RenderElement,
|
||||
utils::{Relocate, RelocateRenderElement, RescaleRenderElement},
|
||||
},
|
||||
desktop::{PopupKind, Space, WindowSurfaceType, layer_map_for_output, space::SpaceElement},
|
||||
input::Seat,
|
||||
|
|
@ -1421,7 +1418,7 @@ impl FloatingLayout {
|
|||
alpha: f32,
|
||||
) -> Vec<CosmicMappedRenderElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -1472,7 +1469,7 @@ impl FloatingLayout {
|
|||
theme: &cosmic::theme::CosmicTheme,
|
||||
) -> Vec<CosmicMappedRenderElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ use keyframe::{
|
|||
};
|
||||
use smithay::{
|
||||
backend::renderer::{
|
||||
ImportAll, ImportMem, Renderer,
|
||||
element::{
|
||||
AsRenderElements, Id, RenderElement,
|
||||
utils::{
|
||||
|
|
@ -4011,7 +4010,7 @@ impl TilingLayout {
|
|||
theme: &cosmic::theme::CosmicTheme,
|
||||
) -> Result<Vec<CosmicMappedRenderElement<R>>, OutputNotMapped>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -4171,7 +4170,7 @@ impl TilingLayout {
|
|||
theme: &cosmic::theme::CosmicTheme,
|
||||
) -> Result<Vec<CosmicMappedRenderElement<R>>, OutputNotMapped>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -4345,7 +4344,7 @@ fn geometries_for_groupview<'a, R>(
|
|||
Vec<CosmicMappedRenderElement<R>>,
|
||||
)
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer + 'a,
|
||||
R: AsGlowRenderer + 'a,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -4977,7 +4976,7 @@ fn render_old_tree_popups<R>(
|
|||
is_swap_mode: bool,
|
||||
) -> Vec<CosmicMappedRenderElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -5020,7 +5019,7 @@ fn render_old_tree_windows<R>(
|
|||
theme: &cosmic::theme::CosmicTheme,
|
||||
) -> Vec<CosmicMappedRenderElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -5203,7 +5202,7 @@ fn render_new_tree_popups<R>(
|
|||
swap_desc: Option<NodeDesc>,
|
||||
) -> Vec<CosmicMappedRenderElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -5269,7 +5268,7 @@ fn render_new_tree_windows<R>(
|
|||
theme: &cosmic::theme::CosmicTheme,
|
||||
) -> Vec<CosmicMappedRenderElement<R>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ use keyframe::{ease, functions::EaseInOutCubic};
|
|||
use smithay::output::WeakOutput;
|
||||
use smithay::{
|
||||
backend::renderer::{
|
||||
ImportAll, ImportMem, Renderer,
|
||||
element::{
|
||||
Element, Id, RenderElement, surface::WaylandSurfaceRenderElement,
|
||||
texture::TextureRenderElement, utils::RescaleRenderElement,
|
||||
|
|
@ -1518,7 +1517,7 @@ impl Workspace {
|
|||
theme: &CosmicTheme,
|
||||
) -> Result<Vec<WorkspaceRenderElement<R>>, OutputNotMapped>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -1720,7 +1719,7 @@ impl Workspace {
|
|||
theme: &CosmicTheme,
|
||||
) -> Result<Vec<WorkspaceRenderElement<R>>, OutputNotMapped>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -1860,7 +1859,7 @@ pub struct OutputNotMapped;
|
|||
|
||||
pub enum WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
{
|
||||
OverrideRedirect(WaylandSurfaceRenderElement<R>),
|
||||
|
|
@ -1872,7 +1871,7 @@ where
|
|||
|
||||
impl<R> Element for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
{
|
||||
fn id(&self) -> &smithay::backend::renderer::element::Id {
|
||||
|
|
@ -1972,7 +1971,7 @@ where
|
|||
|
||||
impl<R> RenderElement<R> for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
R::Error: FromGlesError,
|
||||
{
|
||||
|
|
@ -2027,7 +2026,7 @@ where
|
|||
|
||||
impl<R> From<RescaleRenderElement<CosmicWindowRenderElement<R>>> for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -2038,7 +2037,7 @@ where
|
|||
|
||||
impl<R> From<CosmicWindowRenderElement<R>> for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -2049,7 +2048,7 @@ where
|
|||
|
||||
impl<R> From<WaylandSurfaceRenderElement<R>> for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -2060,7 +2059,7 @@ where
|
|||
|
||||
impl<R> From<CosmicMappedRenderElement<R>> for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -2071,7 +2070,7 @@ where
|
|||
|
||||
impl<R> From<TextureRenderElement<GlesTexture>> for WorkspaceRenderElement<R>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
use calloop::LoopHandle;
|
||||
use smithay::{
|
||||
backend::{
|
||||
allocator::{Buffer, Fourcc, dmabuf::Dmabuf, format::get_transparent},
|
||||
allocator::{Buffer, Fourcc, format::get_transparent},
|
||||
renderer::{
|
||||
Bind, Blit, BufferType, Color32F, ExportMem, ImportAll, ImportMem, Offscreen, Renderer,
|
||||
buffer_dimensions, buffer_type,
|
||||
BufferType, Color32F, ExportMem, ImportAll, ImportMem, Offscreen, buffer_dimensions,
|
||||
buffer_type,
|
||||
damage::{Error as DTError, OutputDamageTracker, RenderOutputResult},
|
||||
element::{
|
||||
AsRenderElements, RenderElement,
|
||||
|
|
@ -193,7 +193,7 @@ pub fn render_session<F, R, T>(
|
|||
render_fn: F,
|
||||
) -> Result<Option<PendingImageCopyData>, DTError<R::Error>>
|
||||
where
|
||||
R: ExportMem + Offscreen<T>,
|
||||
R: Offscreen<T> + AsGlowRenderer,
|
||||
R::Error: FromGlesError,
|
||||
F: for<'d> FnOnce(
|
||||
&WlBuffer,
|
||||
|
|
@ -215,9 +215,7 @@ where
|
|||
.expect("We should be able to convert all hardcoded shm screencopy formats")
|
||||
})
|
||||
.map_err(|_| DTError::OutputNoMode(OutputNoMode))?;
|
||||
renderer
|
||||
.create_buffer(format, size)
|
||||
.map_err(DTError::Rendering)
|
||||
Offscreen::<T>::create_buffer(renderer, format, size).map_err(DTError::Rendering)
|
||||
})
|
||||
.transpose()?;
|
||||
|
||||
|
|
@ -304,7 +302,7 @@ pub fn render_workspace_to_buffer(
|
|||
handle: (WorkspaceHandle, usize),
|
||||
) -> Result<RenderOutputResult<'d>, DTError<R::Error>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + Blit + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
|
|
@ -537,7 +535,7 @@ pub fn render_window_to_buffer(
|
|||
geometry: Rectangle<i32, Logical>,
|
||||
) -> Result<RenderOutputResult<'d>, DTError<R::Error>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + Blit + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
|
|
@ -776,7 +774,7 @@ pub fn render_cursor_to_buffer(
|
|||
seat: &Seat<State>,
|
||||
) -> Result<RenderOutputResult<'d>, DTError<R::Error>>
|
||||
where
|
||||
R: Renderer + ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + Blit + AsGlowRenderer,
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue