Fix standalone compilation of iced_widget crate

This commit is contained in:
Héctor Ramón Jiménez 2024-03-22 05:41:15 +01:00
parent 1f13a91361
commit 4f2f40c68b
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
6 changed files with 81 additions and 1 deletions

View file

@ -1,4 +1,5 @@
//! Write your own renderer.
#[cfg(debug_assertions)]
mod null;
use crate::{

View file

@ -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,
) {
}
}

View file

@ -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 {}
}

View file

@ -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) {}
}

View file

@ -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 {}
}

View file

@ -992,7 +992,6 @@ fn rounded_box_sdf(
impl iced_graphics::Backend for Backend {
type Compositor = window::Compositor;
type Primitive = primitive::Custom;
}