summaryrefslogtreecommitdiffstats
path: root/graphics/src
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/src')
-rw-r--r--graphics/src/backend.rs2
-rw-r--r--graphics/src/renderer.rs7
-rw-r--r--graphics/src/widget/canvas.rs14
-rw-r--r--graphics/src/widget/canvas/cache.rs6
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 {