diff options
-rw-r--r-- | core/src/rectangle.rs | 8 | ||||
-rw-r--r-- | glow/src/backend.rs | 2 | ||||
-rw-r--r-- | glow/src/triangle.rs | 2 | ||||
-rw-r--r-- | wgpu/src/backend.rs | 2 | ||||
-rw-r--r-- | wgpu/src/triangle.rs | 3 |
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, |