shell: refactor unnecessary bounds

This commit is contained in:
Victoria Brekenfeld 2023-06-08 21:50:16 +02:00
parent e73ebd4413
commit 7e3a96eb53
6 changed files with 27 additions and 380 deletions

View file

@ -11,7 +11,6 @@ use std::{
use crate::{ use crate::{
config::WorkspaceLayout, config::WorkspaceLayout,
shell::{ shell::{
element::{stack::CosmicStackRenderElement, window::CosmicWindowRenderElement},
focus::target::WindowGroup, focus::target::WindowGroup,
layout::{floating::SeatMoveGrabState, tiling::ANIMATION_DURATION}, layout::{floating::SeatMoveGrabState, tiling::ANIMATION_DURATION},
CosmicMapped, CosmicMappedRenderElement, WorkspaceRenderElement, CosmicMapped, CosmicMappedRenderElement, WorkspaceRenderElement,
@ -363,8 +362,6 @@ where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer, R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
<R as Renderer>::TextureId: Clone + 'static, <R as Renderer>::TextureId: Clone + 'static,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
E: From<CursorRenderElement<R>> + From<CosmicMappedRenderElement<R>>, E: From<CursorRenderElement<R>> + From<CosmicMappedRenderElement<R>>,
{ {
#[cfg(feature = "debug")] #[cfg(feature = "debug")]
@ -434,8 +431,6 @@ where
<R as Renderer>::TextureId: Clone + 'static, <R as Renderer>::TextureId: Clone + 'static,
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
{ {
#[cfg(feature = "debug")] #[cfg(feature = "debug")]
@ -642,7 +637,6 @@ where
<R as Renderer>::TextureId: Clone + 'static, <R as Renderer>::TextureId: Clone + 'static,
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
{ {
let layer_map = layer_map_for_output(output); let layer_map = layer_map_for_output(output);
@ -687,7 +681,6 @@ where
<R as Renderer>::TextureId: Clone + 'static, <R as Renderer>::TextureId: Clone + 'static,
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
{ {
let layer_map = layer_map_for_output(output); let layer_map = layer_map_for_output(output);
@ -741,8 +734,6 @@ where
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicElement<R>: RenderElement<R>, CosmicElement<R>: RenderElement<R>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
Source: Clone, Source: Clone,
{ {
@ -801,8 +792,6 @@ where
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicElement<R>: RenderElement<R>, CosmicElement<R>: RenderElement<R>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
Source: Clone, Source: Clone,
{ {

View file

@ -53,7 +53,6 @@ pub mod stack;
pub use self::stack::CosmicStack; pub use self::stack::CosmicStack;
pub mod window; pub mod window;
pub use self::window::CosmicWindow; pub use self::window::CosmicWindow;
use self::{stack::CosmicStackRenderElement, window::CosmicWindowRenderElement};
#[cfg(feature = "debug")] #[cfg(feature = "debug")]
use egui::plot::{Corner, Legend, Plot, PlotPoints, Polygon}; use egui::plot::{Corner, Legend, Plot, PlotPoints, Polygon};
@ -727,7 +726,7 @@ impl From<CosmicStack> for CosmicMapped {
pub enum CosmicMappedRenderElement<R> pub enum CosmicMappedRenderElement<R>
where where
R: AsGlowRenderer + Renderer + ImportAll + ImportMem, R: Renderer + ImportAll + ImportMem,
<R as Renderer>::TextureId: 'static, <R as Renderer>::TextureId: 'static,
{ {
Stack(self::stack::CosmicStackRenderElement<R>), Stack(self::stack::CosmicStackRenderElement<R>),
@ -749,7 +748,7 @@ where
impl<R> Element for CosmicMappedRenderElement<R> impl<R> Element for CosmicMappedRenderElement<R>
where where
R: AsGlowRenderer + Renderer + ImportAll + ImportMem, R: Renderer + ImportAll + ImportMem,
<R as Renderer>::TextureId: 'static, <R as Renderer>::TextureId: 'static,
{ {
fn id(&self) -> &smithay::backend::renderer::element::Id { fn id(&self) -> &smithay::backend::renderer::element::Id {
@ -1004,8 +1003,6 @@ where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer, R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
<R as Renderer>::TextureId: 'static, <R as Renderer>::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
{ {
type RenderElement = CosmicMappedRenderElement<R>; type RenderElement = CosmicMappedRenderElement<R>;
fn render_elements<C: From<Self::RenderElement>>( fn render_elements<C: From<Self::RenderElement>>(

View file

@ -1,9 +1,5 @@
use crate::{ use crate::{
backend::render::{ shell::{focus::FocusDirection, Shell},
element::{AsGlowFrame, AsGlowRenderer},
GlMultiError, GlMultiFrame, GlMultiRenderer,
},
shell::focus::FocusDirection,
state::State, state::State,
utils::iced::{IcedElement, Program}, utils::iced::{IcedElement, Program},
utils::prelude::SeatExt, utils::prelude::SeatExt,
@ -24,10 +20,8 @@ use smithay::{
renderer::{ renderer::{
element::{ element::{
memory::MemoryRenderBufferRenderElement, surface::WaylandSurfaceRenderElement, memory::MemoryRenderBufferRenderElement, surface::WaylandSurfaceRenderElement,
AsRenderElements, Element, Id, RenderElement, AsRenderElements,
}, },
glow::GlowRenderer,
utils::CommitCounter,
ImportAll, ImportMem, Renderer, ImportAll, ImportMem, Renderer,
}, },
}, },
@ -38,7 +32,9 @@ use smithay::{
Seat, Seat,
}, },
output::Output, output::Output,
utils::{IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial, Size, Transform}, render_elements,
utils::{IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial, Size},
wayland::seat::WaylandFocus,
}; };
use std::{ use std::{
fmt, fmt,
@ -1057,169 +1053,16 @@ impl PointerTarget<State> for CosmicStack {
} }
} }
pub enum CosmicStackRenderElement<R> render_elements! {
where pub CosmicStackRenderElement<R> where R: ImportAll + ImportMem;
R: ImportAll + ImportMem + AsGlowRenderer + Renderer, Header = MemoryRenderBufferRenderElement<R>,
<R as Renderer>::TextureId: 'static, Window = WaylandSurfaceRenderElement<R>,
{
Header(MemoryRenderBufferRenderElement<GlowRenderer>),
Window(WaylandSurfaceRenderElement<R>),
}
impl<R> From<WaylandSurfaceRenderElement<R>> for CosmicStackRenderElement<R>
where
R: ImportAll + ImportMem + AsGlowRenderer + Renderer,
<R as Renderer>::TextureId: 'static,
{
fn from(elem: WaylandSurfaceRenderElement<R>) -> Self {
CosmicStackRenderElement::Window(elem)
}
}
impl<R> From<MemoryRenderBufferRenderElement<GlowRenderer>> for CosmicStackRenderElement<R>
where
R: ImportAll + ImportMem + AsGlowRenderer + Renderer,
<R as Renderer>::TextureId: 'static,
{
fn from(elem: MemoryRenderBufferRenderElement<GlowRenderer>) -> Self {
CosmicStackRenderElement::Header(elem)
}
}
impl<R> Element for CosmicStackRenderElement<R>
where
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
<R as Renderer>::TextureId: 'static,
{
fn id(&self) -> &Id {
match self {
CosmicStackRenderElement::Header(h) => h.id(),
CosmicStackRenderElement::Window(w) => w.id(),
}
}
fn current_commit(&self) -> CommitCounter {
match self {
CosmicStackRenderElement::Header(h) => h.current_commit(),
CosmicStackRenderElement::Window(w) => w.current_commit(),
}
}
fn src(&self) -> Rectangle<f64, smithay::utils::Buffer> {
match self {
CosmicStackRenderElement::Header(h) => h.src(),
CosmicStackRenderElement::Window(w) => w.src(),
}
}
fn geometry(&self, scale: Scale<f64>) -> Rectangle<i32, Physical> {
match self {
CosmicStackRenderElement::Header(h) => h.geometry(scale),
CosmicStackRenderElement::Window(w) => w.geometry(scale),
}
}
fn location(&self, scale: Scale<f64>) -> Point<i32, Physical> {
match self {
CosmicStackRenderElement::Header(h) => h.location(scale),
CosmicStackRenderElement::Window(w) => w.location(scale),
}
}
fn transform(&self) -> Transform {
match self {
CosmicStackRenderElement::Header(h) => h.transform(),
CosmicStackRenderElement::Window(w) => w.transform(),
}
}
fn damage_since(
&self,
scale: Scale<f64>,
commit: Option<CommitCounter>,
) -> Vec<Rectangle<i32, Physical>> {
match self {
CosmicStackRenderElement::Header(h) => h.damage_since(scale, commit),
CosmicStackRenderElement::Window(w) => w.damage_since(scale, commit),
}
}
fn opaque_regions(&self, scale: Scale<f64>) -> Vec<Rectangle<i32, Physical>> {
match self {
CosmicStackRenderElement::Header(h) => h.opaque_regions(scale),
CosmicStackRenderElement::Window(w) => w.opaque_regions(scale),
}
}
fn alpha(&self) -> f32 {
match self {
CosmicStackRenderElement::Header(h) => h.alpha(),
CosmicStackRenderElement::Window(w) => w.alpha(),
}
}
}
impl RenderElement<GlowRenderer> for CosmicStackRenderElement<GlowRenderer> {
fn draw<'a>(
&self,
frame: &mut <GlowRenderer as Renderer>::Frame<'a>,
src: Rectangle<f64, smithay::utils::Buffer>,
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
) -> Result<(), <GlowRenderer as Renderer>::Error> {
match self {
CosmicStackRenderElement::Header(h) => h.draw(frame, src, dst, damage),
CosmicStackRenderElement::Window(w) => w.draw(frame, src, dst, damage),
}
}
fn underlying_storage(
&self,
renderer: &mut GlowRenderer,
) -> Option<smithay::backend::renderer::element::UnderlyingStorage> {
match self {
CosmicStackRenderElement::Header(h) => h.underlying_storage(renderer),
CosmicStackRenderElement::Window(w) => w.underlying_storage(renderer),
}
}
}
impl<'a, 'b> RenderElement<GlMultiRenderer<'a, 'b>>
for CosmicStackRenderElement<GlMultiRenderer<'a, 'b>>
{
fn draw<'c>(
&self,
frame: &mut GlMultiFrame<'a, 'b, 'c>,
src: Rectangle<f64, smithay::utils::Buffer>,
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
) -> Result<(), GlMultiError> {
match self {
CosmicStackRenderElement::Header(h) => h
.draw(frame.glow_frame_mut(), src, dst, damage)
.map_err(|err| GlMultiError::Render(err)),
CosmicStackRenderElement::Window(w) => w.draw(frame, src, dst, damage),
}
}
fn underlying_storage(
&self,
renderer: &mut GlMultiRenderer<'a, 'b>,
) -> Option<smithay::backend::renderer::element::UnderlyingStorage> {
match self {
CosmicStackRenderElement::Header(h) => {
h.underlying_storage(renderer.glow_renderer_mut())
}
CosmicStackRenderElement::Window(w) => w.underlying_storage(renderer),
}
}
} }
impl<R> AsRenderElements<R> for CosmicStack impl<R> AsRenderElements<R> for CosmicStack
where where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer, R: Renderer + ImportAll + ImportMem,
<R as Renderer>::TextureId: 'static, <R as Renderer>::TextureId: 'static,
CosmicStackRenderElement<R>: RenderElement<R>,
{ {
type RenderElement = CosmicStackRenderElement<R>; type RenderElement = CosmicStackRenderElement<R>;
fn render_elements<C: From<Self::RenderElement>>( fn render_elements<C: From<Self::RenderElement>>(
@ -1240,14 +1083,9 @@ where
.to_physical_precise_round(scale); .to_physical_precise_round(scale);
let window_loc = location + Point::from((0, (TAB_HEIGHT as f64 * scale.y) as i32)); let window_loc = location + Point::from((0, (TAB_HEIGHT as f64 * scale.y) as i32));
let mut elements = let mut elements = AsRenderElements::<R>::render_elements::<CosmicStackRenderElement<R>>(
AsRenderElements::<GlowRenderer>::render_elements::<CosmicStackRenderElement<R>>( &self.0, renderer, stack_loc, scale, alpha,
&self.0, );
renderer.glow_renderer_mut(),
stack_loc,
scale,
alpha,
);
elements.extend(self.0.with_program(|p| { elements.extend(self.0.with_program(|p| {
AsRenderElements::<R>::render_elements::<CosmicStackRenderElement<R>>( AsRenderElements::<R>::render_elements::<CosmicStackRenderElement<R>>(

View file

@ -1,8 +1,4 @@
use crate::{ use crate::{
backend::render::{
element::{AsGlowFrame, AsGlowRenderer},
GlMultiError, GlMultiFrame, GlMultiRenderer,
},
shell::Shell, shell::Shell,
state::State, state::State,
utils::{ utils::{
@ -20,10 +16,8 @@ use smithay::{
renderer::{ renderer::{
element::{ element::{
memory::MemoryRenderBufferRenderElement, surface::WaylandSurfaceRenderElement, memory::MemoryRenderBufferRenderElement, surface::WaylandSurfaceRenderElement,
AsRenderElements, Element, Id, RenderElement, AsRenderElements,
}, },
glow::GlowRenderer,
utils::CommitCounter,
ImportAll, ImportMem, Renderer, ImportAll, ImportMem, Renderer,
}, },
}, },
@ -34,9 +28,9 @@ use smithay::{
Seat, Seat,
}, },
output::Output, output::Output,
render_elements,
utils::{ utils::{
Buffer as BufferCoords, IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial, Size, Buffer as BufferCoords, IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial, Size,
Transform,
}, },
wayland::seat::WaylandFocus, wayland::seat::WaylandFocus,
}; };
@ -570,169 +564,16 @@ impl PointerTarget<State> for CosmicWindow {
} }
} }
pub enum CosmicWindowRenderElement<R> render_elements! {
where pub CosmicWindowRenderElement<R> where R: ImportAll + ImportMem;
R: ImportAll + ImportMem + AsGlowRenderer + Renderer, Header = MemoryRenderBufferRenderElement<R>,
<R as Renderer>::TextureId: 'static, Window = WaylandSurfaceRenderElement<R>,
{
Header(MemoryRenderBufferRenderElement<GlowRenderer>),
Window(WaylandSurfaceRenderElement<R>),
}
impl<R> From<WaylandSurfaceRenderElement<R>> for CosmicWindowRenderElement<R>
where
R: ImportAll + ImportMem + AsGlowRenderer + Renderer,
<R as Renderer>::TextureId: 'static,
{
fn from(elem: WaylandSurfaceRenderElement<R>) -> Self {
CosmicWindowRenderElement::Window(elem)
}
}
impl<R> From<MemoryRenderBufferRenderElement<GlowRenderer>> for CosmicWindowRenderElement<R>
where
R: ImportAll + ImportMem + AsGlowRenderer + Renderer,
<R as Renderer>::TextureId: 'static,
{
fn from(elem: MemoryRenderBufferRenderElement<GlowRenderer>) -> Self {
CosmicWindowRenderElement::Header(elem)
}
}
impl<R> Element for CosmicWindowRenderElement<R>
where
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
<R as Renderer>::TextureId: 'static,
{
fn id(&self) -> &Id {
match self {
CosmicWindowRenderElement::Header(h) => h.id(),
CosmicWindowRenderElement::Window(w) => w.id(),
}
}
fn current_commit(&self) -> CommitCounter {
match self {
CosmicWindowRenderElement::Header(h) => h.current_commit(),
CosmicWindowRenderElement::Window(w) => w.current_commit(),
}
}
fn src(&self) -> Rectangle<f64, smithay::utils::Buffer> {
match self {
CosmicWindowRenderElement::Header(h) => h.src(),
CosmicWindowRenderElement::Window(w) => w.src(),
}
}
fn geometry(&self, scale: Scale<f64>) -> Rectangle<i32, Physical> {
match self {
CosmicWindowRenderElement::Header(h) => h.geometry(scale),
CosmicWindowRenderElement::Window(w) => w.geometry(scale),
}
}
fn location(&self, scale: Scale<f64>) -> Point<i32, Physical> {
match self {
CosmicWindowRenderElement::Header(h) => h.location(scale),
CosmicWindowRenderElement::Window(w) => w.location(scale),
}
}
fn transform(&self) -> Transform {
match self {
CosmicWindowRenderElement::Header(h) => h.transform(),
CosmicWindowRenderElement::Window(w) => w.transform(),
}
}
fn damage_since(
&self,
scale: Scale<f64>,
commit: Option<CommitCounter>,
) -> Vec<Rectangle<i32, Physical>> {
match self {
CosmicWindowRenderElement::Header(h) => h.damage_since(scale, commit),
CosmicWindowRenderElement::Window(w) => w.damage_since(scale, commit),
}
}
fn opaque_regions(&self, scale: Scale<f64>) -> Vec<Rectangle<i32, Physical>> {
match self {
CosmicWindowRenderElement::Header(h) => h.opaque_regions(scale),
CosmicWindowRenderElement::Window(w) => w.opaque_regions(scale),
}
}
fn alpha(&self) -> f32 {
match self {
CosmicWindowRenderElement::Header(h) => h.alpha(),
CosmicWindowRenderElement::Window(w) => w.alpha(),
}
}
}
impl RenderElement<GlowRenderer> for CosmicWindowRenderElement<GlowRenderer> {
fn draw<'a>(
&self,
frame: &mut <GlowRenderer as Renderer>::Frame<'a>,
src: Rectangle<f64, smithay::utils::Buffer>,
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
) -> Result<(), <GlowRenderer as Renderer>::Error> {
match self {
CosmicWindowRenderElement::Header(h) => h.draw(frame, src, dst, damage),
CosmicWindowRenderElement::Window(w) => w.draw(frame, src, dst, damage),
}
}
fn underlying_storage(
&self,
renderer: &mut GlowRenderer,
) -> Option<smithay::backend::renderer::element::UnderlyingStorage> {
match self {
CosmicWindowRenderElement::Header(h) => h.underlying_storage(renderer),
CosmicWindowRenderElement::Window(w) => w.underlying_storage(renderer),
}
}
}
impl<'a, 'b> RenderElement<GlMultiRenderer<'a, 'b>>
for CosmicWindowRenderElement<GlMultiRenderer<'a, 'b>>
{
fn draw<'c>(
&self,
frame: &mut GlMultiFrame<'a, 'b, 'c>,
src: Rectangle<f64, smithay::utils::Buffer>,
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
) -> Result<(), GlMultiError> {
match self {
CosmicWindowRenderElement::Header(h) => h
.draw(frame.glow_frame_mut(), src, dst, damage)
.map_err(|err| GlMultiError::Render(err)),
CosmicWindowRenderElement::Window(w) => w.draw(frame, src, dst, damage),
}
}
fn underlying_storage(
&self,
renderer: &mut GlMultiRenderer<'a, 'b>,
) -> Option<smithay::backend::renderer::element::UnderlyingStorage> {
match self {
CosmicWindowRenderElement::Header(h) => {
h.underlying_storage(renderer.glow_renderer_mut())
}
CosmicWindowRenderElement::Window(w) => w.underlying_storage(renderer),
}
}
} }
impl<R> AsRenderElements<R> for CosmicWindow impl<R> AsRenderElements<R> for CosmicWindow
where where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer, R: Renderer + ImportAll + ImportMem,
<R as Renderer>::TextureId: 'static, <R as Renderer>::TextureId: 'static,
CosmicWindowRenderElement<R>: RenderElement<R>,
{ {
type RenderElement = CosmicWindowRenderElement<R>; type RenderElement = CosmicWindowRenderElement<R>;
fn render_elements<C: From<Self::RenderElement>>( fn render_elements<C: From<Self::RenderElement>>(
@ -761,15 +602,9 @@ where
.0 .0
.with_program(|p| p.window.geometry().loc) .with_program(|p| p.window.geometry().loc)
.to_physical_precise_round(scale); .to_physical_precise_round(scale);
elements.extend(AsRenderElements::<GlowRenderer>::render_elements::< elements.extend(AsRenderElements::<R>::render_elements::<
CosmicWindowRenderElement<R>, CosmicWindowRenderElement<R>,
>( >(&self.0, renderer, ssd_loc, scale, alpha))
&self.0,
renderer.glow_renderer_mut(),
ssd_loc,
scale,
alpha,
))
} }
elements.into_iter().map(C::from).collect() elements.into_iter().map(C::from).collect()

View file

@ -3,12 +3,9 @@
use crate::{ use crate::{
backend::render::{element::AsGlowRenderer, IndicatorShader}, backend::render::{element::AsGlowRenderer, IndicatorShader},
shell::{ shell::{
element::{ element::CosmicMappedRenderElement,
stack::CosmicStackRenderElement, window::CosmicWindowRenderElement, CosmicMapped,
CosmicMappedRenderElement,
},
focus::target::{KeyboardFocusTarget, PointerFocusTarget}, focus::target::{KeyboardFocusTarget, PointerFocusTarget},
CosmicSurface, CosmicMapped, CosmicSurface,
}, },
utils::prelude::*, utils::prelude::*,
}; };
@ -47,8 +44,6 @@ impl MoveGrabState {
R: Renderer + ImportAll + ImportMem + AsGlowRenderer, R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
<R as Renderer>::TextureId: 'static, <R as Renderer>::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
I: From<CosmicMappedRenderElement<R>>, I: From<CosmicMappedRenderElement<R>>,
{ {
#[cfg(feature = "debug")] #[cfg(feature = "debug")]

View file

@ -48,10 +48,7 @@ use crate::{
element::{AsGlowRenderer, CosmicElement}, element::{AsGlowRenderer, CosmicElement},
render_output, render_workspace, CursorMode, CLEAR_COLOR, render_output, render_workspace, CursorMode, CLEAR_COLOR,
}, },
shell::{ shell::{CosmicMappedRenderElement, CosmicSurface, WorkspaceRenderElement},
element::{stack::CosmicStackRenderElement, window::CosmicWindowRenderElement},
CosmicMappedRenderElement, CosmicSurface, WorkspaceRenderElement,
},
state::{BackendData, ClientState, Common, Data, State}, state::{BackendData, ClientState, Common, Data, State},
utils::prelude::OutputExt, utils::prelude::OutputExt,
wayland::protocols::{ wayland::protocols::{
@ -671,8 +668,6 @@ pub fn render_output_to_buffer(
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicElement<R>: RenderElement<R>, CosmicElement<R>: RenderElement<R>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
{ {
let cursor_mode = match session.cursor_mode() { let cursor_mode = match session.cursor_mode() {
@ -805,8 +800,6 @@ pub fn render_workspace_to_buffer(
<R as Renderer>::Error: From<GlesError>, <R as Renderer>::Error: From<GlesError>,
CosmicElement<R>: RenderElement<R>, CosmicElement<R>: RenderElement<R>,
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
CosmicWindowRenderElement<R>: RenderElement<R>,
CosmicStackRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
{ {
let cursor_mode = match session.cursor_mode() { let cursor_mode = match session.cursor_mode() {