Skip to content
Draft
6 changes: 3 additions & 3 deletions examples/animation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ fn main() -> Result<(), LvError> {
button.set_align(Align::LeftMid, 30, 0);
button.set_size(180, 80);
let mut btn_lbl = Label::create(&mut button)?;
btn_lbl.set_text(CString::new("Click me!").unwrap().as_c_str())?;
btn_lbl.set_text(CString::new("Click me!").unwrap().as_c_str());

let mut btn_state = false;

Expand All @@ -66,10 +66,10 @@ fn main() -> Result<(), LvError> {
if let lvgl::Event::Clicked = event {
if btn_state {
let nt = CString::new("Click me!").unwrap();
btn_lbl.set_text(nt.as_c_str()).unwrap();
btn_lbl.set_text(nt.as_c_str());
} else {
let nt = CString::new("Clicked!").unwrap();
btn_lbl.set_text(nt.as_c_str()).unwrap();
btn_lbl.set_text(nt.as_c_str());
}
btn_state = !btn_state;
}
Expand Down
4 changes: 2 additions & 2 deletions examples/arc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ fn main() -> Result<(), LvError> {
arc.set_end_angle(135);

let mut loading_lbl = Label::create(&mut screen)?;
loading_lbl.set_text(CString::new("Loading...").unwrap().as_c_str())?;
loading_lbl.set_text(CString::new("Loading...").unwrap().as_c_str());
loading_lbl.set_align(Align::OutTopMid, 0, 0);
//loading_lbl.set_label_align(LabelAlign::Center)?;

Expand All @@ -82,7 +82,7 @@ fn main() -> Result<(), LvError> {
println!("mem info running: {:?}", mem_info());
}
angle = if forward { angle + 1 } else { angle - 1 };
arc.set_end_angle(angle + 135)?;
arc.set_end_angle(angle + 135);
i += 1;

lvgl::task_handler();
Expand Down
6 changes: 3 additions & 3 deletions examples/bar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ fn main() -> Result<(), LvError> {
let mut bar = Bar::create(&mut screen)?;
bar.set_size(175, 20);
bar.set_align(Align::Center, 0, 10);
bar.set_range(0, 100)?;
bar.set_range(0, 100);
bar.on_event(|_b, _e| {
println!("Completed!");
})?;
Expand All @@ -50,7 +50,7 @@ fn main() -> Result<(), LvError> {
bar.add_style(Part::Any, &mut ind_style);

let mut loading_lbl = Label::create(&mut screen)?;
loading_lbl.set_text(CString::new("Loading...").unwrap().as_c_str())?;
loading_lbl.set_text(CString::new("Loading...").unwrap().as_c_str());
loading_lbl.set_align(Align::OutTopMid, 0, 0);

let mut loading_style = Style::default();
Expand All @@ -67,7 +67,7 @@ fn main() -> Result<(), LvError> {
// - implementation of `Widget` is not general enough
// lvgl::event_send(&mut bar, Event::Clicked);
}
bar.set_value(i, AnimationState::ON);
bar.set_value(i, AnimationState::ON.into());
i += 1;

lvgl::task_handler();
Expand Down
6 changes: 3 additions & 3 deletions examples/button_click.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,18 @@ fn main() -> Result<(), LvError> {
button.set_align(Align::LeftMid, 30, 0);
button.set_size(180, 80);
let mut btn_lbl = Label::create(&mut button)?;
btn_lbl.set_text(CString::new("Click me!").unwrap().as_c_str())?;
btn_lbl.set_text(CString::new("Click me!").unwrap().as_c_str());

let mut btn_state = false;
button.on_event(|_btn, event| {
println!("Button received event: {:?}", event);
if let lvgl::Event::Clicked = event {
if btn_state {
let nt = CString::new("Click me!").unwrap();
btn_lbl.set_text(nt.as_c_str()).unwrap();
btn_lbl.set_text(nt.as_c_str());
} else {
let nt = CString::new("Clicked!").unwrap();
btn_lbl.set_text(nt.as_c_str()).unwrap();
btn_lbl.set_text(nt.as_c_str());
}
btn_state = !btn_state;
}
Expand Down
49 changes: 26 additions & 23 deletions examples/meter.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
// TODO: Redo this example.

/*
use embedded_graphics::pixelcolor::Rgb565;
use embedded_graphics::prelude::*;
use embedded_graphics_simulator::{
OutputSettingsBuilder, SimulatorDisplay, SimulatorEvent, Window,
};
use lvgl;
use lvgl::style::{Opacity, Style};
use lvgl::widgets::Meter;
use lvgl::{
Align, Color, Display, DrawBuffer, LvError, Part, State, Widget,
};
use lvgl::{self, NativeObject};
use lvgl::{Align, Color, Display, DrawBuffer, LvError, Part, Widget};
use lvgl_sys::{lv_palette_main, lv_palette_t_LV_PALETTE_GREY};
use std::time::Duration;

fn main() -> Result<(), LvError> {
Expand All @@ -27,16 +25,14 @@ fn main() -> Result<(), LvError> {
let buffer = DrawBuffer::<{ (HOR_RES * VER_RES) as usize }>::default();

let display = Display::register(buffer, HOR_RES, VER_RES, |refresh| {
sim_display
.draw_iter(refresh.as_pixels())
.unwrap();
sim_display.draw_iter(refresh.as_pixels()).unwrap();
})?;

let mut screen = display.get_scr_act()?;

let mut screen_style = Style::default();
screen_style.set_bg_color(Color::from_rgb((0, 0, 0)));
screen.add_style(Part::Main, &mut screen_style)?;
screen.add_style(Part::Main, &mut screen_style);

// Create the gauge
let mut gauge_style = Style::default();
Expand All @@ -46,9 +42,9 @@ fn main() -> Result<(), LvError> {
gauge_style.set_bg_color(Color::from_rgb((192, 192, 192)));
// Set some padding's
//gauge_style.set_pad_inner(20);
gauge_style.set_pad_top(20);
gauge_style.set_pad_left(5);
gauge_style.set_pad_right(5);
// gauge_style.set_pad_top(20);
// gauge_style.set_pad_left(5);
// gauge_style.set_pad_right(5);

//gauge_style.set_scale_end_color(Color::from_rgb((255, 0, 0)));
gauge_style.set_line_color(Color::from_rgb((255, 255, 255)));
Expand All @@ -57,15 +53,27 @@ fn main() -> Result<(), LvError> {
//gauge_style.set_scale_end_line_width(4);
//gauge_style.set_scale_end_border_width(4);

let mut gauge = Gauge::create(&mut screen, None)?;
gauge.add_style(Part::Main, &mut gauge_style)?;
gauge.set_align(&mut screen, Align::Center, 0, 0)?;
gauge.set_value(0, 50)?;
let mut gauge = Meter::create(&mut screen)?;
gauge.add_style(Part::Main, &mut gauge_style);
gauge.set_align(Align::Center, 0, 0);

let indic;
unsafe {
let scale = lvgl_sys::lv_meter_add_scale(gauge.raw().as_ptr());
indic = lvgl_sys::lv_meter_add_needle_line(
gauge.raw().as_ptr(),
scale,
4,
lv_palette_main(lv_palette_t_LV_PALETTE_GREY),
-10,
)
.as_mut()
.unwrap();
}

let mut i = 0;
let mut loop_started = Instant::now();
'running: loop {
gauge.set_value(0, i)?;
gauge.set_indicator_value(indic, i);

lvgl::task_handler();
window.update(&sim_display);
Expand Down Expand Up @@ -94,8 +102,3 @@ fn main() -> Result<(), LvError> {

Ok(())
}
*/

fn main() {
println!("Currently broken :c")
}
20 changes: 10 additions & 10 deletions examples/rust_timer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,38 +53,38 @@ fn main() -> Result<(), LvError> {
let mut screen_style = Style::default();
screen_style.set_bg_color(Color::from_rgb((255, 255, 255)));
screen_style.set_radius(0);
screen.add_style(Part::Main, &mut screen_style)?;
screen.add_style(Part::Main, &mut screen_style);

// Create the bar object
let mut bar = Bar::create(&mut screen)?;
bar.set_size(175, 20)?;
bar.set_align(Align::Center, 0, 10)?;
bar.set_range(0, 100)?;
bar.set_size(175, 20);
bar.set_align(Align::Center, 0, 10);
bar.set_range(0, 100);
bar.on_event(|_b, _e| {
println!("Completed!");
})?;

// Set the indicator style for the bar object
let mut ind_style = Style::default();
ind_style.set_bg_color(Color::from_rgb((100, 245, 100)));
bar.add_style(Part::Any, &mut ind_style)?;
bar.add_style(Part::Any, &mut ind_style);

let mut loading_lbl = Label::create(&mut screen)?;
loading_lbl.set_text(CString::new("Loading...").unwrap().as_c_str())?;
loading_lbl.set_align(Align::OutTopMid, 0, 0)?;
loading_lbl.set_text(CString::new("Loading...").unwrap().as_c_str());
loading_lbl.set_align(Align::OutTopMid, 0, 0);

let mut loading_style = Style::default();
loading_style.set_text_color(Color::from_rgb((0, 0, 0)));
loading_lbl.add_style(Part::Main, &mut loading_style)?;
loading_lbl.add_style(Part::Main, &mut loading_style);

let mut i = 0;
let clock = Clock::default();
'running: loop {
if i > 100 {
i = 0;
lvgl::event_send(&mut bar, Event::Clicked)?;
lvgl::event_send(&mut bar, Event::Clicked);
}
bar.set_value(i, AnimationState::ON)?;
bar.set_value(i, AnimationState::ON.into());
i += 1;

lvgl::task_handler();
Expand Down
6 changes: 3 additions & 3 deletions examples/sdl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,18 @@ fn main() -> LvResult<()> {
button.set_align(Align::LeftMid, 30, 0);
button.set_size(180, 80);
let mut btn_lbl = Label::create(&mut button)?;
btn_lbl.set_text(CString::new("Click me!").unwrap().as_c_str())?;
btn_lbl.set_text(CString::new("Click me!").unwrap().as_c_str());

let mut btn_state = false;
button.on_event(|_btn, event| {
println!("Button received event: {:?}", event);
if let lvgl::Event::Clicked = event {
if btn_state {
let nt = CString::new("Click me!").unwrap();
btn_lbl.set_text(nt.as_c_str()).unwrap();
btn_lbl.set_text(nt.as_c_str());
} else {
let nt = CString::new("Clicked!").unwrap();
btn_lbl.set_text(nt.as_c_str()).unwrap();
btn_lbl.set_text(nt.as_c_str());
}
btn_state = !btn_state;
}
Expand Down
Loading