Skip to content

Commit e51f2a8

Browse files
committed
Allow accessing clear color
1 parent 642d1b4 commit e51f2a8

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

backend-embedded-graphics/src/widgets/canvas.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ use crate::{themes::Theme, EgCanvas, ToRectangle};
2323

2424
pub trait CanvasProperties {
2525
type Color;
26-
type Canvas: DrawTargetExt + Drawable<Color = Self::Color>;
26+
type Canvas: DrawTarget<Color = Self::Color> + DrawTargetExt + Drawable<Color = Self::Color>;
2727

2828
fn canvas(&mut self) -> &mut Self::Canvas;
29+
fn clear_color(&mut self) -> Self::Color;
2930
fn measure(&self) -> MeasuredSize;
3031
}
3132

@@ -48,6 +49,10 @@ where
4849
&mut self.canvas
4950
}
5051

52+
fn clear_color(&mut self) -> Self::Color {
53+
self.clear_color
54+
}
55+
5156
fn measure(&self) -> MeasuredSize {
5257
MeasuredSize {
5358
width: W as u32,
@@ -105,6 +110,10 @@ where
105110
&mut self.canvas
106111
}
107112

113+
fn clear_color(&mut self) -> Self::Color {
114+
self.clear_color
115+
}
116+
108117
fn measure(&self) -> MeasuredSize {
109118
MeasuredSize {
110119
width: self.canvas.bounding_box().size.width,

examples/canvas.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::{thread, time::Duration};
22

33
use backend_embedded_graphics::{
44
themes::{default::DefaultTheme, Theme},
5-
widgets::canvas::{Canvas, CanvasStyle},
5+
widgets::canvas::{Canvas, CanvasProperties, CanvasStyle},
66
EgCanvas,
77
};
88
use embedded_graphics::{
@@ -203,7 +203,7 @@ fn main() {
203203
})
204204
.bind(&state)
205205
.on_data_changed(|widget, state| {
206-
let clear_color = widget.canvas_properties.clear_color;
206+
let clear_color = widget.canvas_properties.clear_color();
207207
let mut canvas = widget.canvas();
208208

209209
canvas.clear(clear_color).unwrap();

0 commit comments

Comments
 (0)