diff options
Diffstat (limited to 'graphics/src')
-rw-r--r-- | graphics/src/backend.rs | 2 | ||||
-rw-r--r-- | graphics/src/renderer.rs | 7 | ||||
-rw-r--r-- | graphics/src/widget/canvas.rs | 14 | ||||
-rw-r--r-- | graphics/src/widget/canvas/cache.rs | 6 |
4 files changed, 16 insertions, 13 deletions
diff --git a/graphics/src/backend.rs b/graphics/src/backend.rs index 2f8e9fc3..256b7ab5 100644 --- a/graphics/src/backend.rs +++ b/graphics/src/backend.rs @@ -32,7 +32,7 @@ pub trait Text { const ARROW_DOWN_ICON: char; /// Returns the default size of text. - fn default_size(&self) -> u16; + fn default_size(&self) -> f32; /// Measures the text contents with the given size and font, /// returning the size of a laid out paragraph that fits in the provided diff --git a/graphics/src/renderer.rs b/graphics/src/renderer.rs index 298cf4a1..34b6eb1d 100644 --- a/graphics/src/renderer.rs +++ b/graphics/src/renderer.rs @@ -130,19 +130,18 @@ where const CHECKMARK_ICON: char = B::CHECKMARK_ICON; const ARROW_DOWN_ICON: char = B::ARROW_DOWN_ICON; - fn default_size(&self) -> u16 { + fn default_size(&self) -> f32 { self.backend().default_size() } fn measure( &self, content: &str, - size: u16, + size: f32, font: Font, bounds: Size, ) -> (f32, f32) { - self.backend() - .measure(content, f32::from(size), font, bounds) + self.backend().measure(content, size, font, bounds) } fn hit_test( diff --git a/graphics/src/widget/canvas.rs b/graphics/src/widget/canvas.rs index b070d0a6..a8d050f5 100644 --- a/graphics/src/widget/canvas.rs +++ b/graphics/src/widget/canvas.rs @@ -100,13 +100,13 @@ impl<Message, Theme, P> Canvas<Message, Theme, P> where P: Program<Message, Theme>, { - const DEFAULT_SIZE: u16 = 100; + const DEFAULT_SIZE: f32 = 100.0; /// Creates a new [`Canvas`]. pub fn new(program: P) -> Self { Canvas { - width: Length::Units(Self::DEFAULT_SIZE), - height: Length::Units(Self::DEFAULT_SIZE), + width: Length::Fixed(Self::DEFAULT_SIZE), + height: Length::Fixed(Self::DEFAULT_SIZE), program, message_: PhantomData, theme_: PhantomData, @@ -114,14 +114,14 @@ where } /// Sets the width of the [`Canvas`]. - pub fn width(mut self, width: Length) -> Self { - self.width = width; + pub fn width(mut self, width: impl Into<Length>) -> Self { + self.width = width.into(); self } /// Sets the height of the [`Canvas`]. - pub fn height(mut self, height: Length) -> Self { - self.height = height; + pub fn height(mut self, height: impl Into<Length>) -> Self { + self.height = height.into(); self } } diff --git a/graphics/src/widget/canvas/cache.rs b/graphics/src/widget/canvas/cache.rs index 49873ac9..52217bbb 100644 --- a/graphics/src/widget/canvas/cache.rs +++ b/graphics/src/widget/canvas/cache.rs @@ -49,7 +49,11 @@ impl Cache { /// Otherwise, the previously stored [`Geometry`] will be returned. The /// [`Cache`] is not cleared in this case. In other words, it will keep /// returning the stored [`Geometry`] if needed. - pub fn draw(&self, bounds: Size, draw_fn: impl Fn(&mut Frame)) -> Geometry { + pub fn draw( + &self, + bounds: Size, + draw_fn: impl FnOnce(&mut Frame), + ) -> Geometry { use std::ops::Deref; if let State::Filled { |