summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 05:41:15 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 05:41:15 +0100
commit4f2f40c68b4647f281d34034beb159a41422aa06 (patch)
tree1fa11b5c4ed1bab19d5feff1beb122aa6a4955f5
parent1f13a91361258a1607c71f4840a26a6437f88612 (diff)
downloadiced-4f2f40c68b4647f281d34034beb159a41422aa06.tar.gz
iced-4f2f40c68b4647f281d34034beb159a41422aa06.tar.bz2
iced-4f2f40c68b4647f281d34034beb159a41422aa06.zip
Fix standalone compilation of `iced_widget` crate
-rw-r--r--core/src/renderer.rs1
-rw-r--r--core/src/renderer/null.rs15
-rw-r--r--graphics/src/cached.rs9
-rw-r--r--graphics/src/geometry.rs10
-rw-r--r--graphics/src/geometry/frame.rs46
-rw-r--r--tiny_skia/src/backend.rs1
6 files changed, 81 insertions, 1 deletions
diff --git a/core/src/renderer.rs b/core/src/renderer.rs
index dfedcd45..6712314e 100644
--- a/core/src/renderer.rs
+++ b/core/src/renderer.rs
@@ -1,4 +1,5 @@
//! Write your own renderer.
+#[cfg(debug_assertions)]
mod null;
use crate::{
diff --git a/core/src/renderer/null.rs b/core/src/renderer/null.rs
index af7dc15f..c26ce1a5 100644
--- a/core/src/renderer/null.rs
+++ b/core/src/renderer/null.rs
@@ -1,6 +1,7 @@
use crate::alignment;
use crate::image;
use crate::renderer::{self, Renderer};
+use crate::svg;
use crate::text::{self, Text};
use crate::{
Background, Color, Font, Pixels, Point, Rectangle, Size, Transformation,
@@ -177,3 +178,17 @@ impl image::Renderer for () {
) {
}
}
+
+impl svg::Renderer for () {
+ fn measure_svg(&self, _handle: &svg::Handle) -> Size<u32> {
+ Size::default()
+ }
+
+ fn draw_svg(
+ &mut self,
+ _handle: svg::Handle,
+ _color: Option<Color>,
+ _bounds: Rectangle,
+ ) {
+ }
+}
diff --git a/graphics/src/cached.rs b/graphics/src/cached.rs
index f7968c9f..b52f9d9d 100644
--- a/graphics/src/cached.rs
+++ b/graphics/src/cached.rs
@@ -31,3 +31,12 @@ impl<T> Cached for Primitive<T> {
Arc::new(self)
}
}
+
+#[cfg(debug_assertions)]
+impl Cached for () {
+ type Cache = ();
+
+ fn load(_cache: &Self::Cache) -> Self {}
+
+ fn cache(self) -> Self::Cache {}
+}
diff --git a/graphics/src/geometry.rs b/graphics/src/geometry.rs
index 194f37b2..d251efb8 100644
--- a/graphics/src/geometry.rs
+++ b/graphics/src/geometry.rs
@@ -44,3 +44,13 @@ pub trait Backend {
/// Creates a new [`Self::Frame`].
fn new_frame(&self, size: Size) -> Self::Frame;
}
+
+#[cfg(debug_assertions)]
+impl Renderer for () {
+ type Geometry = ();
+ type Frame = ();
+
+ fn new_frame(&self, _size: Size) -> Self::Frame {}
+
+ fn draw_geometry(&mut self, _geometry: Self::Geometry) {}
+}
diff --git a/graphics/src/geometry/frame.rs b/graphics/src/geometry/frame.rs
index 635012d0..ad35e8ec 100644
--- a/graphics/src/geometry/frame.rs
+++ b/graphics/src/geometry/frame.rs
@@ -203,3 +203,49 @@ pub trait Backend: Sized {
fn into_geometry(self) -> Self::Geometry;
}
+
+#[cfg(debug_assertions)]
+impl Backend for () {
+ type Geometry = ();
+
+ fn width(&self) -> f32 {
+ 0.0
+ }
+
+ fn height(&self) -> f32 {
+ 0.0
+ }
+
+ fn size(&self) -> Size {
+ Size::ZERO
+ }
+
+ fn center(&self) -> Point {
+ Point::ORIGIN
+ }
+
+ fn push_transform(&mut self) {}
+ fn pop_transform(&mut self) {}
+
+ fn translate(&mut self, _translation: Vector) {}
+ fn rotate(&mut self, _angle: impl Into<Radians>) {}
+ fn scale(&mut self, _scale: impl Into<f32>) {}
+ fn scale_nonuniform(&mut self, _scale: impl Into<Vector>) {}
+
+ fn draft(&mut self, _size: Size) -> Self {}
+ fn paste(&mut self, _frame: Self, _at: Point) {}
+
+ fn stroke<'a>(&mut self, _path: &Path, _stroke: impl Into<Stroke<'a>>) {}
+
+ fn fill(&mut self, _path: &Path, _fill: impl Into<Fill>) {}
+ fn fill_text(&mut self, _text: impl Into<Text>) {}
+ fn fill_rectangle(
+ &mut self,
+ _top_left: Point,
+ _size: Size,
+ _fill: impl Into<Fill>,
+ ) {
+ }
+
+ fn into_geometry(self) -> Self::Geometry {}
+}
diff --git a/tiny_skia/src/backend.rs b/tiny_skia/src/backend.rs
index b0dd4759..6d4e6cda 100644
--- a/tiny_skia/src/backend.rs
+++ b/tiny_skia/src/backend.rs
@@ -992,7 +992,6 @@ fn rounded_box_sdf(
impl iced_graphics::Backend for Backend {
type Compositor = window::Compositor;
-
type Primitive = primitive::Custom;
}