Fix examples
This commit is contained in:
parent
36bae837f8
commit
335261ed6e
4 changed files with 65 additions and 65 deletions
|
@ -5,13 +5,13 @@ use embedded_graphics_simulator::{
|
||||||
};
|
};
|
||||||
use lvgl::style::Style;
|
use lvgl::style::Style;
|
||||||
use lvgl::widgets::{Bar, BarPart, Label, LabelAlign};
|
use lvgl::widgets::{Bar, BarPart, Label, LabelAlign};
|
||||||
use lvgl::{self, Align, Animation, Color, DisplayDriver, Event, Part, State, Widget, UI};
|
use lvgl::{self, Align, Animation, Color, DisplayDriver, Event, LvError, Part, State, Widget, UI};
|
||||||
use lvgl_sys;
|
use lvgl_sys;
|
||||||
use std::sync::{mpsc, Arc, Mutex};
|
use std::sync::{mpsc, Arc, Mutex};
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
fn main() -> Result<(), String> {
|
fn main() -> Result<(), LvError> {
|
||||||
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
||||||
lvgl_sys::LV_HOR_RES_MAX,
|
lvgl_sys::LV_HOR_RES_MAX,
|
||||||
lvgl_sys::LV_VER_RES_MAX,
|
lvgl_sys::LV_VER_RES_MAX,
|
||||||
|
@ -20,39 +20,39 @@ fn main() -> Result<(), String> {
|
||||||
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
||||||
let mut window = Window::new("Bar Example", &output_settings);
|
let mut window = Window::new("Bar Example", &output_settings);
|
||||||
|
|
||||||
let mut ui = UI::init().unwrap();
|
let mut ui = UI::init()?;
|
||||||
|
|
||||||
// Implement and register your display:
|
// Implement and register your display:
|
||||||
let display_driver = DisplayDriver::new(&mut display);
|
let display_driver = DisplayDriver::new(&mut display);
|
||||||
ui.disp_drv_register(display_driver);
|
ui.disp_drv_register(display_driver);
|
||||||
|
|
||||||
// Create screen and widgets
|
// Create screen and widgets
|
||||||
let mut screen = ui.scr_act();
|
let mut screen = ui.scr_act()?;
|
||||||
|
|
||||||
let mut screen_style = Style::default();
|
let mut screen_style = Style::default();
|
||||||
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((255, 255, 255)));
|
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((255, 255, 255)));
|
||||||
screen_style.set_radius(State::DEFAULT, 0);
|
screen_style.set_radius(State::DEFAULT, 0);
|
||||||
screen.add_style(Part::Main, screen_style);
|
screen.add_style(Part::Main, screen_style)?;
|
||||||
|
|
||||||
// Create the bar object
|
// Create the bar object
|
||||||
let mut bar = Bar::new(&mut screen);
|
let mut bar = Bar::new(&mut screen)?;
|
||||||
bar.set_size(175, 20);
|
bar.set_size(175, 20)?;
|
||||||
bar.set_align(&mut screen, Align::Center, 0, 10);
|
bar.set_align(&mut screen, Align::Center, 0, 10)?;
|
||||||
bar.set_range(0, 100);
|
bar.set_range(0, 100)?;
|
||||||
|
|
||||||
// // Set the indicator style for the bar object
|
// // Set the indicator style for the bar object
|
||||||
let mut ind_style = Style::default();
|
let mut ind_style = Style::default();
|
||||||
ind_style.set_bg_color(State::DEFAULT, Color::from_rgb((100, 245, 100)));
|
ind_style.set_bg_color(State::DEFAULT, Color::from_rgb((100, 245, 100)));
|
||||||
bar.add_style(BarPart::Indicator, ind_style);
|
bar.add_style(BarPart::Indicator, ind_style)?;
|
||||||
|
|
||||||
let mut loading_lbl = Label::new(&mut screen);
|
let mut loading_lbl = Label::new(&mut screen)?;
|
||||||
loading_lbl.set_text("Loading...");
|
loading_lbl.set_text("Loading...")?;
|
||||||
loading_lbl.set_align(&mut bar, Align::OutTopMid, 0, -10);
|
loading_lbl.set_align(&mut bar, Align::OutTopMid, 0, -10)?;
|
||||||
loading_lbl.set_label_align(LabelAlign::Center);
|
loading_lbl.set_label_align(LabelAlign::Center)?;
|
||||||
|
|
||||||
let mut loading_style = Style::default();
|
let mut loading_style = Style::default();
|
||||||
loading_style.set_text_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
loading_style.set_text_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
||||||
loading_lbl.add_style(Part::Main, loading_style);
|
loading_lbl.add_style(Part::Main, loading_style)?;
|
||||||
|
|
||||||
let threaded_ui = Arc::new(Mutex::new(ui));
|
let threaded_ui = Arc::new(Mutex::new(ui));
|
||||||
|
|
||||||
|
@ -75,9 +75,9 @@ fn main() -> Result<(), String> {
|
||||||
threaded_ui
|
threaded_ui
|
||||||
.lock()
|
.lock()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.event_send(&mut loading_lbl, Event::Clicked)
|
.event_send(&mut loading_lbl, Event::Clicked)?
|
||||||
}
|
}
|
||||||
bar.set_value(i, Animation::OFF);
|
bar.set_value(i, Animation::OFF)?;
|
||||||
i += 1;
|
i += 1;
|
||||||
|
|
||||||
sleep(Duration::from_millis(25));
|
sleep(Duration::from_millis(25));
|
||||||
|
|
|
@ -5,13 +5,13 @@ use embedded_graphics_simulator::{
|
||||||
};
|
};
|
||||||
use lvgl::style::Style;
|
use lvgl::style::Style;
|
||||||
use lvgl::widgets::{Btn, Label};
|
use lvgl::widgets::{Btn, Label};
|
||||||
use lvgl::{self, Align, Color, DisplayDriver, Event, Part, State, Widget, UI};
|
use lvgl::{self, Align, Color, DisplayDriver, Event, LvError, Part, State, Widget, UI};
|
||||||
use lvgl_sys;
|
use lvgl_sys;
|
||||||
use std::sync::{mpsc, Arc, Mutex};
|
use std::sync::{mpsc, Arc, Mutex};
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
fn main() -> Result<(), String> {
|
fn main() -> Result<(), LvError> {
|
||||||
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
||||||
lvgl_sys::LV_HOR_RES_MAX,
|
lvgl_sys::LV_HOR_RES_MAX,
|
||||||
lvgl_sys::LV_VER_RES_MAX,
|
lvgl_sys::LV_VER_RES_MAX,
|
||||||
|
@ -20,30 +20,30 @@ fn main() -> Result<(), String> {
|
||||||
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
||||||
let mut window = Window::new("Bar Example", &output_settings);
|
let mut window = Window::new("Bar Example", &output_settings);
|
||||||
|
|
||||||
let mut ui = UI::init().unwrap();
|
let mut ui = UI::init()?;
|
||||||
|
|
||||||
// Implement and register your display:
|
// Implement and register your display:
|
||||||
let display_driver = DisplayDriver::new(&mut display);
|
let display_driver = DisplayDriver::new(&mut display);
|
||||||
ui.disp_drv_register(display_driver);
|
ui.disp_drv_register(display_driver);
|
||||||
|
|
||||||
// Create screen and widgets
|
// Create screen and widgets
|
||||||
let mut screen = ui.scr_act();
|
let mut screen = ui.scr_act()?;
|
||||||
|
|
||||||
let mut screen_style = Style::default();
|
let mut screen_style = Style::default();
|
||||||
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
||||||
screen.add_style(Part::Main, screen_style);
|
screen.add_style(Part::Main, screen_style)?;
|
||||||
|
|
||||||
// Create the button
|
// Create the button
|
||||||
let mut button = Btn::new(&mut screen);
|
let mut button = Btn::new(&mut screen)?;
|
||||||
button.set_align(&mut screen, Align::InLeftMid, 30, 0);
|
button.set_align(&mut screen, Align::InLeftMid, 30, 0)?;
|
||||||
button.set_size(180, 80);
|
button.set_size(180, 80)?;
|
||||||
let mut btn_lbl = Label::new(&mut button);
|
let mut btn_lbl = Label::new(&mut button)?;
|
||||||
btn_lbl.set_text("Click me!");
|
btn_lbl.set_text("Click me!")?;
|
||||||
button.on_event(|_, event| {
|
button.on_event(|_, event| {
|
||||||
if let lvgl::Event::Clicked = event {
|
if let lvgl::Event::Clicked = event {
|
||||||
println!("Clicked!");
|
println!("Clicked!");
|
||||||
}
|
}
|
||||||
});
|
})?;
|
||||||
|
|
||||||
let threaded_ui = Arc::new(Mutex::new(ui));
|
let threaded_ui = Arc::new(Mutex::new(ui));
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ fn main() -> Result<(), String> {
|
||||||
threaded_ui
|
threaded_ui
|
||||||
.lock()
|
.lock()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.event_send(&mut button, Event::Clicked);
|
.event_send(&mut button, Event::Clicked)?;
|
||||||
}
|
}
|
||||||
SimulatorEvent::Quit => break 'running,
|
SimulatorEvent::Quit => break 'running,
|
||||||
_ => {}
|
_ => {}
|
||||||
|
|
|
@ -6,13 +6,13 @@ use embedded_graphics_simulator::{
|
||||||
use lvgl;
|
use lvgl;
|
||||||
use lvgl::style::Style;
|
use lvgl::style::Style;
|
||||||
use lvgl::widgets::{Label, LabelAlign};
|
use lvgl::widgets::{Label, LabelAlign};
|
||||||
use lvgl::{Align, Color, Part, State, Widget, UI};
|
use lvgl::{Align, Color, LvError, Part, State, Widget, UI};
|
||||||
use lvgl_sys;
|
use lvgl_sys;
|
||||||
use std::sync::{mpsc, Arc, Mutex};
|
use std::sync::{mpsc, Arc, Mutex};
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
fn main() -> Result<(), String> {
|
fn main() -> Result<(), LvError> {
|
||||||
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
||||||
lvgl_sys::LV_HOR_RES_MAX,
|
lvgl_sys::LV_HOR_RES_MAX,
|
||||||
lvgl_sys::LV_VER_RES_MAX,
|
lvgl_sys::LV_VER_RES_MAX,
|
||||||
|
@ -21,14 +21,14 @@ fn main() -> Result<(), String> {
|
||||||
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
||||||
let mut window = Window::new("PineTime", &output_settings);
|
let mut window = Window::new("PineTime", &output_settings);
|
||||||
|
|
||||||
let mut ui = UI::init().unwrap();
|
let mut ui = UI::init()?;
|
||||||
|
|
||||||
// Implement and register your display:
|
// Implement and register your display:
|
||||||
let display_driver = lvgl::DisplayDriver::new(&mut display);
|
let display_driver = lvgl::DisplayDriver::new(&mut display);
|
||||||
ui.disp_drv_register(display_driver);
|
ui.disp_drv_register(display_driver);
|
||||||
|
|
||||||
// Create screen and widgets
|
// Create screen and widgets
|
||||||
let mut screen = ui.scr_act();
|
let mut screen = ui.scr_act()?;
|
||||||
|
|
||||||
let font_roboto_28 = unsafe { &lvgl_sys::lv_theme_get_font_normal() };
|
let font_roboto_28 = unsafe { &lvgl_sys::lv_theme_get_font_normal() };
|
||||||
let font_noto_sans_numeric_28 = unsafe { ¬o_sans_numeric_80 };
|
let font_noto_sans_numeric_28 = unsafe { ¬o_sans_numeric_80 };
|
||||||
|
@ -36,33 +36,33 @@ fn main() -> Result<(), String> {
|
||||||
let mut screen_style = Style::default();
|
let mut screen_style = Style::default();
|
||||||
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
||||||
screen_style.set_radius(State::DEFAULT, 0);
|
screen_style.set_radius(State::DEFAULT, 0);
|
||||||
screen.add_style(Part::Main, screen_style);
|
screen.add_style(Part::Main, screen_style)?;
|
||||||
|
|
||||||
let mut time = Label::new(&mut screen);
|
let mut time = Label::new(&mut screen)?;
|
||||||
let mut style_time = Style::default();
|
let mut style_time = Style::default();
|
||||||
//style_time.set_text_font(font_noto_sans_numeric_28);
|
//style_time.set_text_font(font_noto_sans_numeric_28);
|
||||||
style_time.set_text_color(State::DEFAULT, Color::from_rgb((255, 255, 255)));
|
style_time.set_text_color(State::DEFAULT, Color::from_rgb((255, 255, 255)));
|
||||||
time.add_style(Part::Main, style_time);
|
time.add_style(Part::Main, style_time)?;
|
||||||
time.set_align(&mut screen, Align::Center, 0, 0);
|
time.set_align(&mut screen, Align::Center, 0, 0)?;
|
||||||
time.set_text("20:46");
|
time.set_text("20:46")?;
|
||||||
time.set_width(240);
|
time.set_width(240)?;
|
||||||
time.set_height(240);
|
time.set_height(240)?;
|
||||||
|
|
||||||
let mut bt = Label::new(&mut screen);
|
let mut bt = Label::new(&mut screen)?;
|
||||||
bt.set_width(50);
|
bt.set_width(50)?;
|
||||||
bt.set_height(80);
|
bt.set_height(80)?;
|
||||||
bt.set_recolor(true);
|
bt.set_recolor(true)?;
|
||||||
bt.set_text("#5794f2 \u{F293}#");
|
bt.set_text("#5794f2 \u{F293}#")?;
|
||||||
bt.set_label_align(LabelAlign::Left);
|
bt.set_label_align(LabelAlign::Left)?;
|
||||||
bt.set_align(&mut screen, Align::InTopLeft, 0, 0);
|
bt.set_align(&mut screen, Align::InTopLeft, 0, 0)?;
|
||||||
|
|
||||||
let mut power = Label::new(&mut screen);
|
let mut power = Label::new(&mut screen)?;
|
||||||
power.set_recolor(true);
|
power.set_recolor(true)?;
|
||||||
power.set_width(80);
|
power.set_width(80)?;
|
||||||
power.set_height(20);
|
power.set_height(20)?;
|
||||||
power.set_text("#fade2a 20%#");
|
power.set_text("#fade2a 20%#")?;
|
||||||
power.set_label_align(LabelAlign::Right);
|
power.set_label_align(LabelAlign::Right)?;
|
||||||
power.set_align(&mut screen, Align::InTopRight, 0, 0);
|
power.set_align(&mut screen, Align::InTopRight, 0, 0)?;
|
||||||
|
|
||||||
let threaded_ui = Arc::new(Mutex::new(ui));
|
let threaded_ui = Arc::new(Mutex::new(ui));
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ fn main() -> Result<(), String> {
|
||||||
if i > 59 {
|
if i > 59 {
|
||||||
i = 0;
|
i = 0;
|
||||||
}
|
}
|
||||||
time.set_text(format!("21:{:02}", i).as_str());
|
time.set_text(format!("21:{:02}", i).as_str())?;
|
||||||
i = 1 + i;
|
i = 1 + i;
|
||||||
|
|
||||||
sleep(Duration::from_secs(1));
|
sleep(Duration::from_secs(1));
|
||||||
|
|
|
@ -5,13 +5,13 @@ use embedded_graphics_simulator::{
|
||||||
};
|
};
|
||||||
use lvgl::style::{Opacity, Style};
|
use lvgl::style::{Opacity, Style};
|
||||||
use lvgl::widgets::{Gauge, GaugePart};
|
use lvgl::widgets::{Gauge, GaugePart};
|
||||||
use lvgl::{self, Align, Color, DisplayDriver, Part, State, Widget, UI};
|
use lvgl::{self, Align, Color, DisplayDriver, LvError, Part, State, Widget, UI};
|
||||||
use lvgl_sys;
|
use lvgl_sys;
|
||||||
use std::sync::{mpsc, Arc, Mutex};
|
use std::sync::{mpsc, Arc, Mutex};
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
fn main() -> Result<(), String> {
|
fn main() -> Result<(), LvError> {
|
||||||
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(
|
||||||
lvgl_sys::LV_HOR_RES_MAX,
|
lvgl_sys::LV_HOR_RES_MAX,
|
||||||
lvgl_sys::LV_VER_RES_MAX,
|
lvgl_sys::LV_VER_RES_MAX,
|
||||||
|
@ -20,18 +20,18 @@ fn main() -> Result<(), String> {
|
||||||
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
let output_settings = OutputSettingsBuilder::new().scale(2).build();
|
||||||
let mut window = Window::new("Gauge Example", &output_settings);
|
let mut window = Window::new("Gauge Example", &output_settings);
|
||||||
|
|
||||||
let mut ui = UI::init().unwrap();
|
let mut ui = UI::init()?;
|
||||||
|
|
||||||
// Implement and register your display:
|
// Implement and register your display:
|
||||||
let display_driver = DisplayDriver::new(&mut display);
|
let display_driver = DisplayDriver::new(&mut display);
|
||||||
ui.disp_drv_register(display_driver);
|
ui.disp_drv_register(display_driver);
|
||||||
|
|
||||||
// Create screen and widgets
|
// Create screen and widgets
|
||||||
let mut screen = ui.scr_act();
|
let mut screen = ui.scr_act()?;
|
||||||
|
|
||||||
let mut screen_style = Style::default();
|
let mut screen_style = Style::default();
|
||||||
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
screen_style.set_bg_color(State::DEFAULT, Color::from_rgb((0, 0, 0)));
|
||||||
screen.add_style(Part::Main, screen_style);
|
screen.add_style(Part::Main, screen_style)?;
|
||||||
|
|
||||||
// Create the gauge
|
// Create the gauge
|
||||||
let mut gauge_style = Style::default();
|
let mut gauge_style = Style::default();
|
||||||
|
@ -52,10 +52,10 @@ fn main() -> Result<(), String> {
|
||||||
gauge_style.set_scale_end_line_width(State::DEFAULT, 4);
|
gauge_style.set_scale_end_line_width(State::DEFAULT, 4);
|
||||||
gauge_style.set_scale_end_border_width(State::DEFAULT, 4);
|
gauge_style.set_scale_end_border_width(State::DEFAULT, 4);
|
||||||
|
|
||||||
let mut gauge = Gauge::new(&mut screen);
|
let mut gauge = Gauge::new(&mut screen)?;
|
||||||
gauge.add_style(GaugePart::Main, gauge_style);
|
gauge.add_style(GaugePart::Main, gauge_style)?;
|
||||||
gauge.set_align(&mut screen, Align::Center, 0, 0);
|
gauge.set_align(&mut screen, Align::Center, 0, 0)?;
|
||||||
gauge.set_value(0, 50);
|
gauge.set_value(0, 50)?;
|
||||||
|
|
||||||
let threaded_ui = Arc::new(Mutex::new(ui));
|
let threaded_ui = Arc::new(Mutex::new(ui));
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ fn main() -> Result<(), String> {
|
||||||
}
|
}
|
||||||
|
|
||||||
sleep(Duration::from_millis(25));
|
sleep(Duration::from_millis(25));
|
||||||
gauge.set_value(0, i);
|
gauge.set_value(0, i)?;
|
||||||
|
|
||||||
if i > 99 {
|
if i > 99 {
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
Loading…
Reference in a new issue