Skip to content

Repair Meter example #199

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 16 commits into
base: master
Choose a base branch
from
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