iced: Handle blur internally

This commit is contained in:
Victoria Brekenfeld 2026-04-21 18:16:43 +02:00 committed by Victoria Brekenfeld
parent 5ee2fa911a
commit ab9f13b36f
3 changed files with 74 additions and 15 deletions

View file

@ -1,7 +1,10 @@
use crate::{
backend::render::element::AsGlowRenderer,
state::State,
utils::{iced::IcedElementInternal, prelude::*},
utils::{
iced::{IcedElementInternal, IcedRenderElement},
prelude::*,
},
};
use calloop::LoopHandle;
use cosmic_comp_config::AppearanceConfig;
@ -13,7 +16,6 @@ use smithay::{
renderer::{
element::{
Element, Kind, RenderElement, UnderlyingStorage,
memory::MemoryRenderBufferRenderElement,
utils::{CropRenderElement, RelocateRenderElement, RescaleRenderElement},
},
gles::element::PixelShaderElement,
@ -1127,7 +1129,7 @@ where
GrabbedWindow(RescaleRenderElement<self::window::CosmicWindowRenderElement<R>>),
FocusIndicator(PixelShaderElement),
Overlay(PixelShaderElement),
StackHoverIndicator(MemoryRenderBufferRenderElement<R>),
StackHoverIndicator(IcedRenderElement<R>),
#[cfg(feature = "debug")]
Egui(TextureRenderElement<GlesTexture>),
}
@ -1581,13 +1583,13 @@ where
}
}
impl<R> From<MemoryRenderBufferRenderElement<R>> for CosmicMappedRenderElement<R>
impl<R> From<IcedRenderElement<R>> for CosmicMappedRenderElement<R>
where
R: AsGlowRenderer,
R::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
fn from(elem: MemoryRenderBufferRenderElement<R>) -> Self {
fn from(elem: IcedRenderElement<R>) -> Self {
CosmicMappedRenderElement::StackHoverIndicator(elem)
}
}