milkyway/src/render.rs

46 lines
1.1 KiB
Rust
Raw Normal View History

2026-07-05 21:48:05 -07:00
use smithay::{
backend::renderer::{
damage::OutputDamageTracker,
2026-07-05 23:10:15 -07:00
element::{
memory::MemoryRenderBufferRenderElement, solid::SolidColorRenderElement,
surface::WaylandSurfaceRenderElement,
},
2026-07-05 21:48:05 -07:00
gles::{GlesRenderer, GlesTarget},
2026-07-05 23:10:15 -07:00
ImportMem,
2026-07-05 21:48:05 -07:00
},
output::Output,
2026-07-05 23:10:15 -07:00
render_elements,
2026-07-05 21:48:05 -07:00
};
use crate::State;
2026-07-05 23:10:15 -07:00
render_elements! {
DecorationElement<R> where R: ImportMem;
Chrome=SolidColorRenderElement,
Label=MemoryRenderBufferRenderElement<R>,
}
2026-07-05 21:48:05 -07:00
impl State {
pub fn render(
&self,
output: &Output,
renderer: &mut GlesRenderer,
framebuffer: &mut GlesTarget,
damage_tracker: &mut OutputDamageTracker,
) -> Result<(), Box<dyn std::error::Error>> {
2026-07-05 23:10:15 -07:00
// let elem = DecorationElement::
2026-07-05 21:48:05 -07:00
smithay::desktop::space::render_output::<_, WaylandSurfaceRenderElement<GlesRenderer>, _, _>(
output,
renderer,
framebuffer,
1.0,
0,
[&self.space],
&[],
damage_tracker,
[0.07, 0.16, 0.286, 1.0],
)?;
Ok(())
}
}