diff options
author | 2019-11-05 05:26:20 +0100 | |
---|---|---|
committer | 2019-11-05 05:26:20 +0100 | |
commit | db716b3bdf039b38fe7dcb17776cae7803d47d24 (patch) | |
tree | 510f31387190d7e1b49e01610a651a39a9763106 /wgpu/src/renderer/target.rs | |
parent | 0157121038987feb6c2ea3066a21ce25e689888e (diff) | |
download | iced-db716b3bdf039b38fe7dcb17776cae7803d47d24.tar.gz iced-db716b3bdf039b38fe7dcb17776cae7803d47d24.tar.bz2 iced-db716b3bdf039b38fe7dcb17776cae7803d47d24.zip |
Apply HiDPI to text, images, and clip primitives
Quads are a bit trickier to handle. We may need to change the shaders a
bit.
Diffstat (limited to 'wgpu/src/renderer/target.rs')
-rw-r--r-- | wgpu/src/renderer/target.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/wgpu/src/renderer/target.rs b/wgpu/src/renderer/target.rs index d9d05bf0..eeeb629a 100644 --- a/wgpu/src/renderer/target.rs +++ b/wgpu/src/renderer/target.rs @@ -6,6 +6,7 @@ pub struct Target { surface: wgpu::Surface, width: u16, height: u16, + dpi: f32, transformation: Transformation, swap_chain: wgpu::SwapChain, } @@ -15,6 +16,10 @@ impl Target { (self.width, self.height) } + pub fn dpi(&self) -> f32 { + self.dpi + } + pub fn transformation(&self) -> Transformation { self.transformation } @@ -31,6 +36,7 @@ impl iced_native::renderer::Target for Target { window: &W, width: u16, height: u16, + dpi: f32, renderer: &Renderer, ) -> Target { let surface = wgpu::Surface::create(window); @@ -41,14 +47,22 @@ impl iced_native::renderer::Target for Target { surface, width, height, + dpi, transformation: Transformation::orthographic(width, height), swap_chain, } } - fn resize(&mut self, width: u16, height: u16, renderer: &Renderer) { + fn resize( + &mut self, + width: u16, + height: u16, + dpi: f32, + renderer: &Renderer, + ) { self.width = width; self.height = height; + self.dpi = dpi; self.transformation = Transformation::orthographic(width, height); self.swap_chain = new_swap_chain(&self.surface, width, height, &renderer.device); |