diff options
| author | 2019-10-28 04:28:21 +0100 | |
|---|---|---|
| committer | 2019-10-28 04:28:21 +0100 | |
| commit | 2b23e0986c532dbacd89ccd73bb603db558cbdaf (patch) | |
| tree | 4c1e154fcc8be04c9d45eb68d1fce0ef23267add /wgpu | |
| parent | 35e94f5a324f5c28de855b725039733efb21b26a (diff) | |
| download | iced-2b23e0986c532dbacd89ccd73bb603db558cbdaf.tar.gz iced-2b23e0986c532dbacd89ccd73bb603db558cbdaf.tar.bz2 iced-2b23e0986c532dbacd89ccd73bb603db558cbdaf.zip | |
Implement text clipping (caching still broken)
Diffstat (limited to 'wgpu')
| -rw-r--r-- | wgpu/Cargo.toml | 6 | ||||
| -rw-r--r-- | wgpu/src/renderer.rs | 21 | 
2 files changed, 11 insertions, 16 deletions
| diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index ffb15ea2..30f9224f 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -9,9 +9,9 @@ repository = "https://github.com/hecrj/iced"  [dependencies]  iced_native = { version = "0.1.0-alpha", path = "../native" } -wgpu = { version = "0.3", git = "https://github.com/gfx-rs/wgpu-rs", rev = "cb25914b95b58fee0dc139b400867e7a731d98f4" } -wgpu_glyph = { version = "0.4", git = "https://github.com/hecrj/wgpu_glyph", rev = "48daa98f5f785963838b4345e86ac40eac095ba9" } -raw-window-handle = "0.1" +wgpu = { version = "0.3", git = "https://github.com/gfx-rs/wgpu-rs", rev = "ed2c67f762970d0099c1e6c6e078fb645afbf964" } +wgpu_glyph = { version = "0.4", git = "https://github.com/hecrj/wgpu_glyph", rev = "954ac865ca1b7f6b97bf403f8c6174a7120e667c" } +raw-window-handle = "0.3"  image = "0.22"  nalgebra = "0.18"  log = "0.4" diff --git a/wgpu/src/renderer.rs b/wgpu/src/renderer.rs index cfdd7a45..0f91428e 100644 --- a/wgpu/src/renderer.rs +++ b/wgpu/src/renderer.rs @@ -75,7 +75,7 @@ impl Renderer {              extensions: Extensions {                  anisotropic_filtering: false,              }, -            limits: Limits { max_bind_groups: 1 }, +            limits: Limits { max_bind_groups: 2 },          });          let surface = Surface::create(window); @@ -162,17 +162,6 @@ impl Renderer {          self.draw_primitive(primitive, &mut layer);          self.flush(target.transformation, &layer, &mut encoder, &frame.view); -        self.glyph_brush -            .borrow_mut() -            .draw_queued( -                &mut self.device, -                &mut encoder, -                &frame.view, -                u32::from(target.width), -                u32::from(target.height), -            ) -            .expect("Draw text"); -          self.queue.submit(&[encoder.finish()]);          *mouse_cursor @@ -331,11 +320,17 @@ impl Renderer {              }              glyph_brush -                .draw_queued_with_transform( +                .draw_queued_with_transform_and_scissoring(                      &mut self.device,                      encoder,                      target,                      translated.into(), +                    wgpu_glyph::Region { +                        x: layer.bounds.x, +                        y: layer.bounds.y, +                        width: layer.bounds.width, +                        height: layer.bounds.height, +                    },                  )                  .expect("Draw text");          } | 
