damage: Remove set_size()

Changes in geometry already cause a repaint.
This commit is contained in:
Ivan Molodetskikh
2026-02-13 21:13:23 +03:00
parent ab10a260fa
commit f022b3c504
3 changed files with 9 additions and 22 deletions
+2 -3
View File
@@ -403,7 +403,6 @@ impl<W: LayoutElement> Tile<W> {
.unwrap_or_default() .unwrap_or_default()
.fit_to(window_size.w as f32, window_size.h as f32); .fit_to(window_size.w as f32, window_size.h as f32);
self.rounded_corner_damage.set_corner_radius(radius); self.rounded_corner_damage.set_corner_radius(radius);
self.rounded_corner_damage.set_size(window_size);
} }
pub fn advance_animations(&mut self) { pub fn advance_animations(&mut self) {
@@ -1200,8 +1199,8 @@ impl<W: LayoutElement> Tile<W> {
}; };
if clip_to_geometry && clip_shader.is_some() { if clip_to_geometry && clip_shader.is_some() {
let damage = self.rounded_corner_damage.element(); let damage = self.rounded_corner_damage.render(geo);
push(damage.with_location(window_render_loc).into()); push(damage.into());
} }
self.window self.window
+2 -6
View File
@@ -272,10 +272,6 @@ impl<'render> RenderElement<TtyRenderer<'render>>
} }
impl RoundedCornerDamage { impl RoundedCornerDamage {
pub fn set_size(&mut self, size: Size<f64, Logical>) {
self.damage.set_size(size);
}
pub fn set_corner_radius(&mut self, corner_radius: CornerRadius) { pub fn set_corner_radius(&mut self, corner_radius: CornerRadius) {
if self.corner_radius == corner_radius { if self.corner_radius == corner_radius {
return; return;
@@ -286,7 +282,7 @@ impl RoundedCornerDamage {
self.damage.damage_all(); self.damage.damage_all();
} }
pub fn element(&self) -> ExtraDamage { pub fn render(&self, geometry: Rectangle<f64, Logical>) -> ExtraDamage {
self.damage.clone() self.damage.render(geometry)
} }
} }
+5 -13
View File
@@ -1,7 +1,7 @@
use smithay::backend::renderer::element::{Element, Id, RenderElement}; use smithay::backend::renderer::element::{Element, Id, RenderElement};
use smithay::backend::renderer::utils::CommitCounter; use smithay::backend::renderer::utils::CommitCounter;
use smithay::backend::renderer::Renderer; use smithay::backend::renderer::Renderer;
use smithay::utils::{Buffer, Logical, Physical, Point, Rectangle, Scale, Size}; use smithay::utils::{Buffer, Logical, Physical, Rectangle, Scale, Size};
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct ExtraDamage { pub struct ExtraDamage {
@@ -19,22 +19,14 @@ impl ExtraDamage {
} }
} }
pub fn set_size(&mut self, size: Size<f64, Logical>) {
if self.geometry.size == size {
return;
}
self.geometry.size = size;
self.commit.increment();
}
pub fn damage_all(&mut self) { pub fn damage_all(&mut self) {
self.commit.increment(); self.commit.increment();
} }
pub fn with_location(mut self, location: Point<f64, Logical>) -> Self { pub fn render(&self, geometry: Rectangle<f64, Logical>) -> Self {
self.geometry.loc = location; let mut this = self.clone();
self this.geometry = geometry;
this
} }
} }