56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
#include "stdio.h"
|
|
#include "lv_port_disp.h"
|
|
#include "lv_port_indev.h"
|
|
#include "lvgl.h"
|
|
#include "demos/lv_demos.h"
|
|
#include <windows.h>
|
|
//#include <widgets/lv_demo_widgets.h>
|
|
#include "t_lvgl.h"
|
|
#include "SDL3/SDL.h"
|
|
|
|
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);
|
|
}
|
|
|
|
int Test_lvgl(void *pVoid) {
|
|
lv_init();
|
|
lv_port_disp_init();
|
|
// lv_port_indev_init();
|
|
|
|
// lv_example_get_started_1();
|
|
// lv_demo_widgets();
|
|
// printf("\nTEST Widgets\n");
|
|
|
|
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);
|
|
SDL_Delay(5);
|
|
}
|
|
return 0;
|
|
}
|