diff options
Diffstat (limited to '')
| -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 { | 
