diff options
author | 2020-01-27 04:28:40 +0900 | |
---|---|---|
committer | 2020-01-27 04:28:40 +0900 | |
commit | 713ed3aca1d5fb23dc9c2a75b1f61fd8bd439e01 (patch) | |
tree | 52686a0017b002fc7ccf93d01d43f467888488d3 /wgpu | |
parent | 0bdf1f23b5ab4348cccb295fcc4e9b00a65e772a (diff) | |
download | iced-713ed3aca1d5fb23dc9c2a75b1f61fd8bd439e01.tar.gz iced-713ed3aca1d5fb23dc9c2a75b1f61fd8bd439e01.tar.bz2 iced-713ed3aca1d5fb23dc9c2a75b1f61fd8bd439e01.zip |
Custom fonts can be set in the text input.
Diffstat (limited to 'wgpu')
-rw-r--r-- | wgpu/src/renderer/widget/text_input.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/wgpu/src/renderer/widget/text_input.rs b/wgpu/src/renderer/widget/text_input.rs index 8b774a48..e2a1b3a9 100644 --- a/wgpu/src/renderer/widget/text_input.rs +++ b/wgpu/src/renderer/widget/text_input.rs @@ -14,11 +14,11 @@ impl text_input::Renderer for Renderer { 20 } - fn measure_value(&self, value: &str, size: u16) -> f32 { + fn measure_value(&self, value: &str, size: u16, font: Font) -> f32 { let (mut width, _) = self.text_pipeline.measure( value, f32::from(size), - Font::Default, + font, Size::INFINITY, ); @@ -38,6 +38,7 @@ impl text_input::Renderer for Renderer { size: u16, value: &text_input::Value, state: &text_input::State, + font: Font, ) -> f32 { if state.is_focused() { let (_, offset) = measure_cursor_and_scroll_offset( @@ -46,6 +47,7 @@ impl text_input::Renderer for Renderer { value, size, state.cursor_position(value), + font, ); offset @@ -60,6 +62,7 @@ impl text_input::Renderer for Renderer { text_bounds: Rectangle, cursor_position: Point, size: u16, + font: Font, placeholder: &str, value: &text_input::Value, state: &text_input::State, @@ -97,7 +100,7 @@ impl text_input::Renderer for Renderer { style_sheet.value_color() } .into(), - font: Font::Default, + font, bounds: Rectangle { width: f32::INFINITY, ..text_bounds @@ -114,6 +117,7 @@ impl text_input::Renderer for Renderer { value, size, state.cursor_position(value), + font, ); let cursor = Primitive::Quad { @@ -164,12 +168,14 @@ fn measure_cursor_and_scroll_offset( value: &text_input::Value, size: u16, cursor_index: usize, + font: Font, ) -> (f32, f32) { use iced_native::text_input::Renderer; let text_before_cursor = value.until(cursor_index).to_string(); - let text_value_width = renderer.measure_value(&text_before_cursor, size); + let text_value_width = + renderer.measure_value(&text_before_cursor, size, font); let offset = ((text_value_width + 5.0) - text_bounds.width).max(0.0); (text_value_width, offset) |