summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-08 01:23:40 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-24 13:37:32 +0100
commitddbf93a82ff2ee0ca3265baf2f5b4442717b9101 (patch)
treea1332d422a7a7770781b6e37144fe396661f20fa
parent21886d7e9cde17904719f1642f0b3af9791102ad (diff)
downloadiced-ddbf93a82ff2ee0ca3265baf2f5b4442717b9101.tar.gz
iced-ddbf93a82ff2ee0ca3265baf2f5b4442717b9101.tar.bz2
iced-ddbf93a82ff2ee0ca3265baf2f5b4442717b9101.zip
Set scissoring properly in `text::Pipeline`
-rw-r--r--wgpu/src/backend.rs3
-rw-r--r--wgpu/src/text.rs8
2 files changed, 10 insertions, 1 deletions
diff --git a/wgpu/src/backend.rs b/wgpu/src/backend.rs
index 9d1e3d1c..d07898f7 100644
--- a/wgpu/src/backend.rs
+++ b/wgpu/src/backend.rs
@@ -291,7 +291,8 @@ impl Backend {
}
if !layer.text.is_empty() {
- self.text_pipeline.render(text_layer, &mut render_pass);
+ self.text_pipeline
+ .render(text_layer, bounds, &mut render_pass);
text_layer += 1;
}
diff --git a/wgpu/src/text.rs b/wgpu/src/text.rs
index 73708fd8..655ad987 100644
--- a/wgpu/src/text.rs
+++ b/wgpu/src/text.rs
@@ -187,10 +187,18 @@ impl Pipeline {
pub fn render<'a>(
&'a self,
layer: usize,
+ bounds: Rectangle<u32>,
render_pass: &mut wgpu::RenderPass<'a>,
) {
let renderer = &self.renderers[layer];
+ render_pass.set_scissor_rect(
+ bounds.x,
+ bounds.y,
+ bounds.width,
+ bounds.height,
+ );
+
renderer
.render(&self.atlas, render_pass)
.expect("Render text");