HW_Lib/demo/lvgl/test.c

56 lines
1.7 KiB
C
Raw Permalink Normal View History

2024-09-21 04:48:44 +00:00
#include "stdio.h"
#include "lv_port_disp.h"
#include "lv_port_indev.h"
#include "lvgl.h"
#include "demos/lv_demos.h"
2024-09-21 04:48:44 +00:00
#include <windows.h>
//#include <widgets/lv_demo_widgets.h>
2024-09-21 04:48:44 +00:00
#include "t_lvgl.h"
2024-09-21 15:07:22 +00:00
#include "SDL3/SDL.h"
2024-09-21 08:07:31 +00:00
static void btn_event_cb(lv_event_t *e) {
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t *btn = lv_event_get_target(e);
if (code == LV_EVENT_CLICKED) {
static uint8_t cnt = 0;
cnt++;
/*Get the first child of the button which is the label and change its text*/
lv_obj_t *label = lv_obj_get_child(btn, 0);
lv_label_set_text_fmt(label, "Button: %d", cnt);
}
}
/**
* Create a button with a label and react on click event.
*/
void lv_example_get_started_1(void) {
lv_obj_t *btn = lv_btn_create(lv_scr_act()); /*Add a button the current screen*/
lv_obj_set_pos(btn, 10, 10); /*Set its position*/
lv_obj_set_size(btn, 120, 50); /*Set its size*/
lv_obj_add_event_cb(btn, btn_event_cb, LV_EVENT_ALL, NULL); /*Assign a callback to the button*/
lv_obj_t *label = lv_label_create(btn); /*Add a label to the button*/
lv_label_set_text(label, "Button"); /*Set the labels text*/
lv_obj_center(label);
}
2024-09-21 15:07:22 +00:00
int Test_lvgl(void *pVoid) {
2024-09-21 04:48:44 +00:00
lv_init();
lv_port_disp_init();
2024-09-21 15:07:22 +00:00
// lv_port_indev_init();
2024-09-21 04:48:44 +00:00
// lv_example_get_started_1();
// lv_demo_widgets();
2024-09-21 15:07:22 +00:00
// printf("\nTEST Widgets\n");
2024-09-21 04:48:44 +00:00
while (1) {
/* Periodically call the lv_task handler.
* It could be done in a timer interrupt or an OS task too.*/
lv_timer_handler();
lv_tick_inc(5);
2024-09-21 15:07:22 +00:00
SDL_Delay(5);
2024-09-21 04:48:44 +00:00
}
2024-09-21 15:07:22 +00:00
return 0;
2024-09-21 04:48:44 +00:00
}