diff options
Diffstat (limited to 'wgpu/src/renderer')
-rw-r--r-- | wgpu/src/renderer/target.rs | 16 | ||||
-rw-r--r-- | wgpu/src/renderer/widget/checkbox.rs | 2 | ||||
-rw-r--r-- | wgpu/src/renderer/widget/text.rs | 7 |
3 files changed, 21 insertions, 4 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); diff --git a/wgpu/src/renderer/widget/checkbox.rs b/wgpu/src/renderer/widget/checkbox.rs index ea7a4c0b..5867a36f 100644 --- a/wgpu/src/renderer/widget/checkbox.rs +++ b/wgpu/src/renderer/widget/checkbox.rs @@ -76,7 +76,7 @@ impl checkbox::Renderer for Renderer { a: 1.0, } }), - border_radius: 6, + border_radius: 5, }, ); diff --git a/wgpu/src/renderer/widget/text.rs b/wgpu/src/renderer/widget/text.rs index 82f75f09..29e07ff7 100644 --- a/wgpu/src/renderer/widget/text.rs +++ b/wgpu/src/renderer/widget/text.rs @@ -6,6 +6,9 @@ use wgpu_glyph::{GlyphCruncher, Section}; use std::cell::RefCell; use std::f32; +// TODO: Obtain from renderer configuration +const DEFAULT_TEXT_SIZE: f32 = 20.0; + impl text::Renderer for Renderer { fn node(&self, text: &Text) -> Node { let glyph_brush = self.glyph_brush.clone(); @@ -18,7 +21,7 @@ impl text::Renderer for Renderer { // I noticed that the first measure is the one that matters in // practice. Here, we use a RefCell to store the cached measurement. let measure = RefCell::new(None); - let size = text.size.map(f32::from).unwrap_or(20.0); + let size = text.size.map(f32::from).unwrap_or(DEFAULT_TEXT_SIZE); let style = Style::default().width(text.width); @@ -71,7 +74,7 @@ impl text::Renderer for Renderer { ( Primitive::Text { content: text.content.clone(), - size: f32::from(text.size.unwrap_or(20)), + size: text.size.map(f32::from).unwrap_or(DEFAULT_TEXT_SIZE), bounds: layout.bounds(), color: text.color.unwrap_or(Color::BLACK), horizontal_alignment: text.horizontal_alignment, |