aboutsummaryrefslogtreecommitdiff
path: root/niri-visual-tests/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-01 19:06:08 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-02 14:27:53 +0400
commit42cef79c699c0f03b4bb99c4278169c48d9a5bd0 (patch)
tree630d18b49f3d93603a79bcfc5734dc773c6d0cb6 /niri-visual-tests/src
parentd86df5025cfd26ef4a3c48acd8ee80555265ee53 (diff)
downloadniri-42cef79c699c0f03b4bb99c4278169c48d9a5bd0.tar.gz
niri-42cef79c699c0f03b4bb99c4278169c48d9a5bd0.tar.bz2
niri-42cef79c699c0f03b4bb99c4278169c48d9a5bd0.zip
Implement rounded window corners
Diffstat (limited to 'niri-visual-tests/src')
-rw-r--r--niri-visual-tests/src/cases/gradient_angle.rs33
-rw-r--r--niri-visual-tests/src/cases/gradient_area.rs34
2 files changed, 40 insertions, 27 deletions
diff --git a/niri-visual-tests/src/cases/gradient_angle.rs b/niri-visual-tests/src/cases/gradient_angle.rs
index adbedff4..aada9862 100644
--- a/niri-visual-tests/src/cases/gradient_angle.rs
+++ b/niri-visual-tests/src/cases/gradient_angle.rs
@@ -3,7 +3,8 @@ use std::sync::atomic::Ordering;
use std::time::Duration;
use niri::animation::ANIMATION_SLOWDOWN;
-use niri::render_helpers::gradient::GradientRenderElement;
+use niri::render_helpers::border::BorderRenderElement;
+use niri_config::CornerRadius;
use smithay::backend::renderer::element::RenderElement;
use smithay::backend::renderer::gles::GlesRenderer;
use smithay::utils::{Logical, Physical, Rectangle, Scale, Size};
@@ -60,17 +61,23 @@ impl TestCase for GradientAngle {
let size = (size.w - a * 2, size.h - b * 2);
let area = Rectangle::from_loc_and_size((a, b), size);
- GradientRenderElement::new(
- renderer,
- Scale::from(1.),
- area,
- area,
- [1., 0., 0., 1.],
- [0., 1., 0., 1.],
- self.angle - FRAC_PI_2,
- )
- .into_iter()
- .map(|elem| Box::new(elem) as _)
- .collect()
+ BorderRenderElement::shader(renderer)
+ .map(|shader| {
+ BorderRenderElement::new(
+ shader.clone(),
+ Scale::from(1.),
+ area,
+ area,
+ [1., 0., 0., 1.],
+ [0., 1., 0., 1.],
+ self.angle - FRAC_PI_2,
+ area,
+ 0.,
+ CornerRadius::default(),
+ )
+ })
+ .into_iter()
+ .map(|elem| Box::new(elem) as _)
+ .collect()
}
}
diff --git a/niri-visual-tests/src/cases/gradient_area.rs b/niri-visual-tests/src/cases/gradient_area.rs
index d47fb2ce..22aac0f0 100644
--- a/niri-visual-tests/src/cases/gradient_area.rs
+++ b/niri-visual-tests/src/cases/gradient_area.rs
@@ -4,8 +4,8 @@ use std::time::Duration;
use niri::animation::ANIMATION_SLOWDOWN;
use niri::layout::focus_ring::FocusRing;
-use niri::render_helpers::gradient::GradientRenderElement;
-use niri_config::Color;
+use niri::render_helpers::border::BorderRenderElement;
+use niri_config::{Color, CornerRadius};
use smithay::backend::renderer::element::RenderElement;
use smithay::backend::renderer::gles::GlesRenderer;
use smithay::utils::{Logical, Physical, Point, Rectangle, Scale, Size};
@@ -85,7 +85,7 @@ impl TestCase for GradientArea {
let g_loc = ((size.w - g_size.w) / 2, (size.h - g_size.h) / 2);
let g_area = Rectangle::from_loc_and_size(g_loc, g_size);
- self.border.update(g_size, true);
+ self.border.update(g_size, true, CornerRadius::default());
rv.extend(
self.border
.render(
@@ -98,17 +98,23 @@ impl TestCase for GradientArea {
);
rv.extend(
- GradientRenderElement::new(
- renderer,
- Scale::from(1.),
- area,
- g_area,
- [1., 0., 0., 1.],
- [0., 1., 0., 1.],
- FRAC_PI_4,
- )
- .into_iter()
- .map(|elem| Box::new(elem) as _),
+ BorderRenderElement::shader(renderer)
+ .map(|shader| {
+ BorderRenderElement::new(
+ shader.clone(),
+ Scale::from(1.),
+ area,
+ g_area,
+ [1., 0., 0., 1.],
+ [0., 1., 0., 1.],
+ FRAC_PI_4,
+ area,
+ 0.,
+ CornerRadius::default(),
+ )
+ })
+ .into_iter()
+ .map(|elem| Box::new(elem) as _),
);
rv