Try to align quad and image primitives in iced_wgpu

This commit is contained in:
Héctor Ramón Jiménez 2025-05-26 23:59:15 +02:00
parent 3aedbd5844
commit 15aa94c0f1
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
8 changed files with 28 additions and 44 deletions

View file

@ -23,12 +23,6 @@ pub struct Image<H = Handle> {
///
/// 0 means transparent. 1 means opaque.
pub opacity: f32,
/// If set to `true`, the image will be snapped to the pixel grid.
///
/// This can avoid graphical glitches, specially when using
/// [`FilterMethod::Nearest`].
pub snap: bool,
}
impl Image<Handle> {
@ -39,7 +33,6 @@ impl Image<Handle> {
filter_method: FilterMethod::default(),
rotation: Radians(0.0),
opacity: 1.0,
snap: false,
}
}
@ -60,12 +53,6 @@ impl Image<Handle> {
self.opacity = opacity.into();
self
}
/// Sets whether the [`Image`] should be snapped to the pixel grid.
pub fn snap(mut self, snap: bool) -> Self {
self.snap = snap;
self
}
}
impl From<&Handle> for Image {

View file

@ -250,11 +250,14 @@ impl Rectangle<f32> {
return None;
}
let x = (self.x + 0.01).round();
let y = (self.y + 0.01).round();
Some(Rectangle {
x: self.x as u32,
y: self.y as u32,
width,
height,
x: x as u32,
y: y as u32,
width: ((self.x + self.width + 0.01).round() - x) as u32,
height: ((self.y + self.height + 0.01).round() - y) as u32,
})
}