summaryrefslogtreecommitdiffstats
path: root/graphics/src/backend.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-05-19 17:15:44 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-05-19 17:15:44 +0200
commit05af8d00d4c0f7b8e0ece85224fd90a92da86da8 (patch)
tree98e4774a2c0d4a2a0a01aff1d772f89c4cb0aa5e /graphics/src/backend.rs
parentd4743183d40c6044ce6fa39e2a52919a32912cda (diff)
downloadiced-05af8d00d4c0f7b8e0ece85224fd90a92da86da8.tar.gz
iced-05af8d00d4c0f7b8e0ece85224fd90a92da86da8.tar.bz2
iced-05af8d00d4c0f7b8e0ece85224fd90a92da86da8.zip
Draft new `iced_graphics` crate :tada:
Diffstat (limited to 'graphics/src/backend.rs')
-rw-r--r--graphics/src/backend.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/graphics/src/backend.rs b/graphics/src/backend.rs
new file mode 100644
index 00000000..3fcb42f7
--- /dev/null
+++ b/graphics/src/backend.rs
@@ -0,0 +1,30 @@
+use iced_native::image;
+use iced_native::svg;
+use iced_native::{Font, Size};
+
+pub trait Backend {
+ fn trim_measurements(&mut self) {}
+}
+
+pub trait Text {
+ const ICON_FONT: Font;
+ const CHECKMARK_ICON: char;
+
+ fn measure(
+ &self,
+ contents: &str,
+ size: f32,
+ font: Font,
+ bounds: Size,
+ ) -> (f32, f32);
+
+ fn space_width(&self, size: f32) -> f32;
+}
+
+pub trait Image {
+ fn dimensions(&self, handle: &image::Handle) -> (u32, u32);
+}
+
+pub trait Svg {
+ fn viewport_dimensions(&self, handle: &svg::Handle) -> (u32, u32);
+}