From 493c8dc89072a746795d4e7b94363cfef3e0ee89 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sun, 24 Mar 2024 09:03:59 +0400 Subject: Implement block-out-from window rule, fix alpha on window screenshots --- niri-visual-tests/src/cases/layout.rs | 3 ++- niri-visual-tests/src/cases/tile.rs | 2 ++ niri-visual-tests/src/cases/window.rs | 9 ++++++++- niri-visual-tests/src/test_window.rs | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) (limited to 'niri-visual-tests/src') diff --git a/niri-visual-tests/src/cases/layout.rs b/niri-visual-tests/src/cases/layout.rs index e6807228..ead98db2 100644 --- a/niri-visual-tests/src/cases/layout.rs +++ b/niri-visual-tests/src/cases/layout.rs @@ -3,6 +3,7 @@ use std::time::Duration; use niri::layout::workspace::ColumnWidth; use niri::layout::{LayoutElement as _, Options}; +use niri::render_helpers::RenderTarget; use niri::utils::get_monotonic_time; use niri_config::Color; use smithay::backend::renderer::element::RenderElement; @@ -222,7 +223,7 @@ impl TestCase for Layout { self.layout .monitor_for_output(&self.output) .unwrap() - .render_elements(renderer) + .render_elements(renderer, RenderTarget::Output) .into_iter() .map(|elem| Box::new(elem) as _) .collect() diff --git a/niri-visual-tests/src/cases/tile.rs b/niri-visual-tests/src/cases/tile.rs index 2420314f..5b2f7cb8 100644 --- a/niri-visual-tests/src/cases/tile.rs +++ b/niri-visual-tests/src/cases/tile.rs @@ -2,6 +2,7 @@ use std::rc::Rc; use std::time::Duration; use niri::layout::Options; +use niri::render_helpers::RenderTarget; use niri_config::Color; use smithay::backend::renderer::element::RenderElement; use smithay::backend::renderer::gles::GlesRenderer; @@ -110,6 +111,7 @@ impl TestCase for Tile { Scale::from(1.), size.to_logical(1), true, + RenderTarget::Output, ) .map(|elem| Box::new(elem) as _) .collect() diff --git a/niri-visual-tests/src/cases/window.rs b/niri-visual-tests/src/cases/window.rs index a8855f46..3cd4c0b8 100644 --- a/niri-visual-tests/src/cases/window.rs +++ b/niri-visual-tests/src/cases/window.rs @@ -1,4 +1,5 @@ use niri::layout::LayoutElement; +use niri::render_helpers::RenderTarget; use smithay::backend::renderer::element::RenderElement; use smithay::backend::renderer::gles::GlesRenderer; use smithay::utils::{Logical, Physical, Point, Scale, Size}; @@ -49,7 +50,13 @@ impl TestCase for Window { let location = Point::from(((size.w - win_size.w) / 2, (size.h - win_size.h) / 2)); self.window - .render(renderer, location, Scale::from(1.), 1.) + .render( + renderer, + location, + Scale::from(1.), + 1., + RenderTarget::Output, + ) .into_iter() .map(|elem| Box::new(elem) as _) .collect() diff --git a/niri-visual-tests/src/test_window.rs b/niri-visual-tests/src/test_window.rs index 341f4fbf..6d028db9 100644 --- a/niri-visual-tests/src/test_window.rs +++ b/niri-visual-tests/src/test_window.rs @@ -4,6 +4,7 @@ use std::rc::Rc; use niri::layout::{LayoutElement, LayoutElementRenderElement}; use niri::render_helpers::renderer::NiriRenderer; +use niri::render_helpers::RenderTarget; use niri::window::ResolvedWindowRules; use smithay::backend::renderer::element::solid::{SolidColorBuffer, SolidColorRenderElement}; use smithay::backend::renderer::element::{Id, Kind}; @@ -147,6 +148,7 @@ impl LayoutElement for TestWindow { location: Point, scale: Scale, alpha: f32, + _target: RenderTarget, ) -> Vec> { let inner = self.inner.borrow(); -- cgit