summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/src/rectangle.rs8
-rw-r--r--glow/src/backend.rs2
-rw-r--r--glow/src/triangle.rs2
-rw-r--r--wgpu/src/backend.rs2
-rw-r--r--wgpu/src/triangle.rs3
5 files changed, 8 insertions, 9 deletions
diff --git a/core/src/rectangle.rs b/core/src/rectangle.rs
index aa23372e..ce80c661 100644
--- a/core/src/rectangle.rs
+++ b/core/src/rectangle.rs
@@ -126,15 +126,15 @@ impl Rectangle<f32> {
}
}
- /// Rounds the [`Rectangle`] to __unsigned__ integer coordinates.
+ /// Snaps the [`Rectangle`] to __unsigned__ integer coordinates.
///
/// [`Rectangle`]: struct.Rectangle.html
- pub fn round(self) -> Rectangle<u32> {
+ pub fn snap(self) -> Rectangle<u32> {
Rectangle {
x: self.x as u32,
y: self.y as u32,
- width: (self.width + 0.5).round() as u32,
- height: (self.height + 0.5).round() as u32,
+ width: self.width.ceil() as u32,
+ height: self.height.ceil() as u32,
}
}
}
diff --git a/glow/src/backend.rs b/glow/src/backend.rs
index 7939311c..882dd605 100644
--- a/glow/src/backend.rs
+++ b/glow/src/backend.rs
@@ -75,7 +75,7 @@ impl Backend {
layer: &Layer<'_>,
target_height: u32,
) {
- let mut bounds = (layer.bounds * scale_factor).round();
+ let mut bounds = (layer.bounds * scale_factor).snap();
bounds.height = bounds.height.min(target_height);
if !layer.quads.is_empty() {
diff --git a/glow/src/triangle.rs b/glow/src/triangle.rs
index ee7faf83..eefd1c1f 100644
--- a/glow/src/triangle.rs
+++ b/glow/src/triangle.rs
@@ -176,7 +176,7 @@ impl Pipeline {
let transform =
transformation * Transformation::translate(origin.x, origin.y);
- let clip_bounds = (*clip_bounds * scale_factor).round();
+ let clip_bounds = (*clip_bounds * scale_factor).snap();
unsafe {
if self.current_transform != transform {
diff --git a/wgpu/src/backend.rs b/wgpu/src/backend.rs
index dfcf3a32..9ed4438b 100644
--- a/wgpu/src/backend.rs
+++ b/wgpu/src/backend.rs
@@ -105,7 +105,7 @@ impl Backend {
target_width: u32,
target_height: u32,
) {
- let bounds = (layer.bounds * scale_factor).round();
+ let bounds = (layer.bounds * scale_factor).snap();
if !layer.quads.is_empty() {
self.quad_pipeline.draw(
diff --git a/wgpu/src/triangle.rs b/wgpu/src/triangle.rs
index 22a27143..fe2388a3 100644
--- a/wgpu/src/triangle.rs
+++ b/wgpu/src/triangle.rs
@@ -326,8 +326,7 @@ impl Pipeline {
for (i, (vertex_offset, index_offset, indices)) in
offsets.into_iter().enumerate()
{
- let clip_bounds =
- (meshes[i].clip_bounds * scale_factor).round();
+ let clip_bounds = (meshes[i].clip_bounds * scale_factor).snap();
render_pass.set_scissor_rect(
clip_bounds.x,