summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-18 14:47:49 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-18 14:47:49 +0700
commita4f4d831615899046d36c96e6a580d5386aa25bf (patch)
tree3b589d57778b7e62584aa2b5832dd3f81b2a8717
parentdfceee99aad9462f09ca61081e68e1decb2fed92 (diff)
downloadiced-a4f4d831615899046d36c96e6a580d5386aa25bf.tar.gz
iced-a4f4d831615899046d36c96e6a580d5386aa25bf.tar.bz2
iced-a4f4d831615899046d36c96e6a580d5386aa25bf.zip
Introduce `fill_rectangle` to `Renderer` trait
-rw-r--r--graphics/src/renderer.rs10
-rw-r--r--native/src/renderer.rs13
-rw-r--r--native/src/renderer/null.rs2
3 files changed, 24 insertions, 1 deletions
diff --git a/graphics/src/renderer.rs b/graphics/src/renderer.rs
index 91f6b550..7ed06151 100644
--- a/graphics/src/renderer.rs
+++ b/graphics/src/renderer.rs
@@ -70,6 +70,16 @@ where
});
}
+ fn fill_rectangle(&mut self, quad: renderer::Quad) {
+ self.primitives.push(Primitive::Quad {
+ bounds: quad.bounds,
+ background: quad.background,
+ border_radius: quad.border_radius,
+ border_width: quad.border_width,
+ border_color: quad.border_color,
+ });
+ }
+
fn clear(&mut self) {
self.primitives.clear();
}
diff --git a/native/src/renderer.rs b/native/src/renderer.rs
index 5a7a0067..382edb61 100644
--- a/native/src/renderer.rs
+++ b/native/src/renderer.rs
@@ -29,7 +29,7 @@ mod null;
pub use null::Null;
use crate::layout;
-use crate::{Element, Rectangle, Vector};
+use crate::{Background, Color, Element, Rectangle, Vector};
/// A component that can take the state of a user interface and produce an
/// output for its users.
@@ -59,4 +59,15 @@ pub trait Renderer: Sized {
);
fn clear(&mut self);
+
+ fn fill_rectangle(&mut self, quad: Quad);
+}
+
+#[derive(Debug, Clone, Copy, PartialEq)]
+pub struct Quad {
+ pub bounds: Rectangle,
+ pub background: Background,
+ pub border_radius: f32,
+ pub border_width: f32,
+ pub border_color: Color,
}
diff --git a/native/src/renderer/null.rs b/native/src/renderer/null.rs
index b8e01b80..1c026fde 100644
--- a/native/src/renderer/null.rs
+++ b/native/src/renderer/null.rs
@@ -37,6 +37,8 @@ impl Renderer for Null {
}
fn clear(&mut self) {}
+
+ fn fill_rectangle(&mut self, _quad: renderer::Quad) {}
}
impl renderer::Text for Null {