summaryrefslogtreecommitdiffstats
path: root/wgpu/src/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu/src/renderer')
-rw-r--r--wgpu/src/renderer/widget/text.rs14
-rw-r--r--wgpu/src/renderer/widget/text_input.rs18
2 files changed, 12 insertions, 20 deletions
diff --git a/wgpu/src/renderer/widget/text.rs b/wgpu/src/renderer/widget/text.rs
index 65b23c5e..a8ead70b 100644
--- a/wgpu/src/renderer/widget/text.rs
+++ b/wgpu/src/renderer/widget/text.rs
@@ -1,8 +1,6 @@
use crate::{Primitive, Renderer};
use iced_native::{layout, text, Color, Layout, MouseCursor, Size, Text};
-use wgpu_glyph::Section;
-
use std::f32;
// TODO: Obtain from renderer configuration
@@ -14,14 +12,9 @@ impl text::Renderer for Renderer {
let size = text.size.map(f32::from).unwrap_or(DEFAULT_TEXT_SIZE);
let bounds = limits.max();
- let section = Section {
- text: &text.content,
- scale: wgpu_glyph::Scale { x: size, y: size },
- bounds: (bounds.width, bounds.height),
- ..Default::default()
- };
-
- let (width, height) = self.text_pipeline.measure(&section);
+ let (width, height) =
+ self.text_pipeline
+ .measure(&text.content, size, text.font, bounds);
let size = limits.resolve(Size::new(width, height));
@@ -35,6 +28,7 @@ impl text::Renderer for Renderer {
size: text.size.map(f32::from).unwrap_or(DEFAULT_TEXT_SIZE),
bounds: layout.bounds(),
color: text.color.unwrap_or(Color::BLACK),
+ font: text.font,
horizontal_alignment: text.horizontal_alignment,
vertical_alignment: text.vertical_alignment,
},
diff --git a/wgpu/src/renderer/widget/text_input.rs b/wgpu/src/renderer/widget/text_input.rs
index f37c879c..855e945c 100644
--- a/wgpu/src/renderer/widget/text_input.rs
+++ b/wgpu/src/renderer/widget/text_input.rs
@@ -2,7 +2,7 @@ use crate::{Primitive, Renderer};
use iced_native::{
text::HorizontalAlignment, text::VerticalAlignment, text_input, Background,
- Color, MouseCursor, Point, Rectangle, TextInput, Vector,
+ Color, Font, MouseCursor, Point, Rectangle, Size, TextInput, Vector,
};
use std::f32;
@@ -60,6 +60,7 @@ impl text_input::Renderer for Renderer {
[0.3, 0.3, 0.3]
}
.into(),
+ font: Font::Default,
bounds: Rectangle {
width: f32::INFINITY,
..text_bounds
@@ -70,20 +71,17 @@ impl text_input::Renderer for Renderer {
};
let (contents_primitive, offset) = if text_input.state.is_focused {
- use wgpu_glyph::{Scale, Section};
-
let text_before_cursor = &text_input
.value
.until(text_input.state.cursor_position(&text_input.value))
.to_string();
- let (mut text_value_width, _) =
- self.text_pipeline.measure(&Section {
- text: text_before_cursor,
- bounds: (f32::INFINITY, text_bounds.height),
- scale: Scale { x: size, y: size },
- ..Default::default()
- });
+ let (mut text_value_width, _) = self.text_pipeline.measure(
+ text_before_cursor,
+ size,
+ Font::Default,
+ Size::new(f32::INFINITY, text_bounds.height),
+ );
let spaces_at_the_end =
text_before_cursor.len() - text_before_cursor.trim_end().len();