window: Add window-specific debug overlay (not enabled)
This commit is contained in:
parent
8430566e5e
commit
e88f5898f7
7 changed files with 559 additions and 52 deletions
|
|
@ -1,6 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
use crate::{
|
||||
backend::render::element::{AsGles2Frame, AsGlowRenderer},
|
||||
shell::{
|
||||
element::{CosmicMapped, CosmicMappedRenderElement},
|
||||
focus::target::{KeyboardFocusTarget, PointerFocusTarget},
|
||||
|
|
@ -9,7 +10,10 @@ use crate::{
|
|||
};
|
||||
|
||||
use smithay::{
|
||||
backend::renderer::{element::AsRenderElements, ImportAll, Renderer},
|
||||
backend::renderer::{
|
||||
element::{AsRenderElements, RenderElement},
|
||||
ImportAll, Renderer,
|
||||
},
|
||||
desktop::space::SpaceElement,
|
||||
input::{
|
||||
pointer::{
|
||||
|
|
@ -35,8 +39,10 @@ pub struct MoveGrabState {
|
|||
impl MoveGrabState {
|
||||
pub fn render<I, R>(&self, seat: &Seat<State>, output: &Output) -> Vec<I>
|
||||
where
|
||||
R: Renderer + ImportAll,
|
||||
R: Renderer + ImportAll + AsGlowRenderer,
|
||||
<R as Renderer>::TextureId: 'static,
|
||||
<R as Renderer>::Frame: AsGles2Frame,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
I: From<CosmicMappedRenderElement<R>>,
|
||||
{
|
||||
let cursor_at = seat.get_pointer().unwrap().current_location();
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
use smithay::{
|
||||
backend::renderer::{ImportAll, Renderer},
|
||||
backend::renderer::{element::RenderElement, ImportAll, Renderer},
|
||||
desktop::{layer_map_for_output, space::SpaceElement, Space, Window},
|
||||
input::{pointer::GrabStartData as PointerGrabStartData, Seat},
|
||||
output::Output,
|
||||
render_elements,
|
||||
utils::{Logical, Point, Rectangle, Serial},
|
||||
};
|
||||
use std::collections::HashMap;
|
||||
|
||||
use crate::{
|
||||
backend::render::element::{AsGles2Frame, AsGlowRenderer},
|
||||
shell::{
|
||||
element::{CosmicMapped, CosmicMappedRenderElement},
|
||||
grabs::ResizeEdge,
|
||||
|
|
@ -295,23 +295,17 @@ impl FloatingLayout {
|
|||
pub fn render_output<R>(
|
||||
&self,
|
||||
output: &Output,
|
||||
) -> Result<Vec<FloatingRenderElement<R>>, OutputNotMapped>
|
||||
) -> Result<Vec<CosmicMappedRenderElement<R>>, OutputNotMapped>
|
||||
where
|
||||
R: Renderer + ImportAll,
|
||||
R: Renderer + ImportAll + AsGlowRenderer,
|
||||
<R as Renderer>::TextureId: 'static,
|
||||
<R as Renderer>::Frame: AsGles2Frame,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
let output_scale = output.current_scale().fractional_scale();
|
||||
let output_geo = self.space.output_geometry(output).ok_or(OutputNotMapped)?;
|
||||
Ok(self
|
||||
.space
|
||||
.render_elements_for_region::<R, _>(&output_geo, output_scale)
|
||||
.into_iter()
|
||||
.map(FloatingRenderElement::from)
|
||||
.collect())
|
||||
.render_elements_for_region::<R, _>(&output_geo, output_scale))
|
||||
}
|
||||
}
|
||||
|
||||
render_elements! {
|
||||
pub FloatingRenderElement<R> where R: ImportAll;
|
||||
Window=CosmicMappedRenderElement<R>,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue