mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-23 02:05:33 +07:00
damage: Remove set_size()
Changes in geometry already cause a repaint.
This commit is contained in:
+2
-3
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user