aboutsummaryrefslogtreecommitdiff
path: root/niri-visual-tests/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-01 19:02:22 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-01 19:04:11 +0400
commit9309b3be61bb1e7d4ef3f9350b2646413850119b (patch)
tree08e5d2d13b34366fcd907eaf835dc120c17c4fa2 /niri-visual-tests/src
parentc5be2dd5494fc33eb2e3bb7a28c5834c8f60078c (diff)
downloadniri-9309b3be61bb1e7d4ef3f9350b2646413850119b.tar.gz
niri-9309b3be61bb1e7d4ef3f9350b2646413850119b.tar.bz2
niri-9309b3be61bb1e7d4ef3f9350b2646413850119b.zip
Split rendering between popups and window surface
Diffstat (limited to 'niri-visual-tests/src')
-rw-r--r--niri-visual-tests/src/test_window.rs45
1 files changed, 24 insertions, 21 deletions
diff --git a/niri-visual-tests/src/test_window.rs b/niri-visual-tests/src/test_window.rs
index 644d98b4..aef389fd 100644
--- a/niri-visual-tests/src/test_window.rs
+++ b/niri-visual-tests/src/test_window.rs
@@ -4,7 +4,7 @@ use std::rc::Rc;
use niri::layout::{LayoutElement, LayoutElementRenderElement, LayoutElementRenderSnapshot};
use niri::render_helpers::renderer::NiriRenderer;
-use niri::render_helpers::RenderTarget;
+use niri::render_helpers::{RenderTarget, SplitElements};
use niri::window::ResolvedWindowRules;
use smithay::backend::renderer::element::solid::{SolidColorBuffer, SolidColorRenderElement};
use smithay::backend::renderer::element::{Id, Kind};
@@ -149,28 +149,31 @@ impl LayoutElement for TestWindow {
scale: Scale<f64>,
alpha: f32,
_target: RenderTarget,
- ) -> Vec<LayoutElementRenderElement<R>> {
+ ) -> SplitElements<LayoutElementRenderElement<R>> {
let inner = self.inner.borrow();
- vec![
- SolidColorRenderElement::from_buffer(
- &inner.buffer,
- location.to_physical_precise_round(scale),
- scale,
- alpha,
- Kind::Unspecified,
- )
- .into(),
- SolidColorRenderElement::from_buffer(
- &inner.csd_shadow_buffer,
- (location - Point::from((inner.csd_shadow_width, inner.csd_shadow_width)))
- .to_physical_precise_round(scale),
- scale,
- alpha,
- Kind::Unspecified,
- )
- .into(),
- ]
+ SplitElements {
+ normal: vec![
+ SolidColorRenderElement::from_buffer(
+ &inner.buffer,
+ location.to_physical_precise_round(scale),
+ scale,
+ alpha,
+ Kind::Unspecified,
+ )
+ .into(),
+ SolidColorRenderElement::from_buffer(
+ &inner.csd_shadow_buffer,
+ (location - Point::from((inner.csd_shadow_width, inner.csd_shadow_width)))
+ .to_physical_precise_round(scale),
+ scale,
+ alpha,
+ Kind::Unspecified,
+ )
+ .into(),
+ ],
+ popups: vec![],
+ }
}
fn request_size(&mut self, size: Size<i32, Logical>, _animate: bool) {