Add item list

This commit is contained in:
Ilya
2022-04-13 13:45:06 +02:00
parent 3b0a5836fa
commit 86c23c0e5c
5 changed files with 168 additions and 77 deletions
+28 -17
View File
@@ -1,4 +1,6 @@
use embedded_components::{Calendar, ComponentStyle, Gauge, ScrollingCalendar};
use embedded_components::{
Calendar, ComponentStyle, Gauge, List, ListItem, ListItemData, ScrollingCalendar,
};
use embedded_graphics::{
pixelcolor::{raw::RawU2, BinaryColor, Rgb888},
prelude::*,
@@ -48,12 +50,21 @@ impl From<Rgb888> for TriColor {
fn main() -> Result<(), core::convert::Infallible> {
//let mut display = SimulatorDisplay::<BinaryColor>::new(Size::new(212, 104));
//let mut display = SimulatorDisplay::<BinaryColor>::new(Size::new(800, 480));
let mut display = SimulatorDisplay::<TriColor>::new(Size::new(800, 480));
let mut display = SimulatorDisplay::<TriColor>::new(Size::new(600, 448));
let fg_color = TriColor::Black;
let bg_color = TriColor::White;
let hi_color = Some(TriColor::Red);
let calendar_style = ComponentStyle {
border: 1,
bezel: 1,
fg_color,
bg_color,
hi_color: TriColor::Red,
border_color: TriColor::Black,
};
let gauge = Gauge {
top_left: Point::new(300, 300),
bezel: 1,
@@ -64,30 +75,30 @@ fn main() -> Result<(), core::convert::Infallible> {
bg_color,
text: "test test test test test",
};
gauge.draw(&mut display)?;
//gauge.draw(&mut display)?;
let calendar = Calendar {
top_left: Point::new(10, 10),
size: Size::new(196, 196),
border: 1,
fg_color,
bg_color,
hi_color,
style: calendar_style.clone(),
};
calendar.draw(&mut display)?;
//calendar.draw(&mut display)?;
let calendar_style = ComponentStyle {
border: 1,
bezel: 1,
fg_color,
bg_color,
hi_color: TriColor::Red,
border_color: TriColor::Black,
let list = List {
top_left: Point::new(320, 0),
size: Size::new(280, 448),
style: calendar_style.clone(),
items_shown: 10,
list_items: vec![
ListItemData::new("I", "Test task").with_progress(100f32),
ListItemData::new("O", "Other test task"),
],
};
list.draw(&mut display)?;
let calendar_week = ScrollingCalendar {
top_left: Point::new(400, 0),
size: Size::new(396, 480),
top_left: Point::new(0, 0),
size: Size::new(320, 448),
style: calendar_style,
day: chrono::Local::now().naive_local().date(),
//.checked_add_signed(chrono::Duration::days(28 * 4 * 0 - 14))