diff options
author | 2021-10-20 18:40:39 +0700 | |
---|---|---|
committer | 2021-10-20 18:40:39 +0700 | |
commit | e914888f57394e4b67b40e42f1ad9df4ae8147e6 (patch) | |
tree | 8aa199ea229941e7861e63b0b6bd7994dbca3ede /graphics/src/renderer.rs | |
parent | 954d6349a8cd5505d99403285ce9617c65a63a2b (diff) | |
download | iced-e914888f57394e4b67b40e42f1ad9df4ae8147e6.tar.gz iced-e914888f57394e4b67b40e42f1ad9df4ae8147e6.tar.bz2 iced-e914888f57394e4b67b40e42f1ad9df4ae8147e6.zip |
Implement `Widget::draw` for `TextInput`
Diffstat (limited to 'graphics/src/renderer.rs')
-rw-r--r-- | graphics/src/renderer.rs | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/graphics/src/renderer.rs b/graphics/src/renderer.rs index 0dca685f..f8c67047 100644 --- a/graphics/src/renderer.rs +++ b/graphics/src/renderer.rs @@ -2,7 +2,7 @@ use crate::backend::{self, Backend}; use crate::{Primitive, Vector}; use iced_native::layout; use iced_native::renderer; -use iced_native::{Element, Font, Rectangle}; +use iced_native::{Element, Font, Point, Rectangle, Size}; pub use iced_native::renderer::Style; @@ -91,6 +91,40 @@ where { type Font = Font; + fn default_size(&self) -> u16 { + self.backend().default_size() + } + + fn measure( + &self, + content: &str, + size: u16, + font: Font, + bounds: Size, + ) -> (f32, f32) { + self.backend() + .measure(content, f32::from(size), font, bounds) + } + + fn hit_test( + &self, + content: &str, + size: f32, + font: Font, + bounds: Size, + point: Point, + nearest_only: bool, + ) -> Option<renderer::text::Hit> { + self.backend().hit_test( + content, + size, + font, + bounds, + point, + nearest_only, + ) + } + fn fill_text(&mut self, text: renderer::text::Section<'_, Self::Font>) { self.primitives.push(Primitive::Text { content: text.content.to_string(), |