Есть вот этот код, он использует SDL2 рендерер в lvgl,
вместо темно-синего фона и hello world выводиться черное окно, проблема в коде или в lvgl?
#include "lvgl/lvgl.h"
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
static int should_stop = 0;
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
void* lv_timer_handler_thread_func(void* should_stop){
while(*(int*)should_stop == 0){
pthread_mutex_lock(&mutex);
usleep(lv_timer_handler() * 1000);
pthread_mutex_unlock(&mutex);
}
pthread_detach(pthread_self());
return NULL;
}
int main(){
lv_init();
lv_disp_t* disp = lv_sdl_window_create(320,240);
lv_indev_t* kb = lv_sdl_keyboard_create();
lv_indev_t* mouse = lv_sdl_mouse_create();
printf("%p\n",lv_scr_act());
lv_display_set_default(disp);
pthread_t lv_timer_handler_thread;
pthread_create(&lv_timer_handler_thread,NULL,lv_timer_handler_thread_func,&should_stop);
pthread_mutex_lock(&mutex);
// // // // // // // // // // // // // // // // // // // // // // // // // // // //
lv_obj_set_style_bg_color(lv_screen_active(), lv_color_hex(0x003a57), LV_PART_MAIN);
lv_obj_t * label = lv_label_create(lv_screen_active());
lv_label_set_text(label, "Hello world");
lv_obj_set_style_text_color(lv_screen_active(), lv_color_hex(0xffffff), LV_PART_MAIN);
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
// // // // // // // // // // // // // // // // // // // // // // // // // // // //
pthread_mutex_unlock(&mutex);
while(1);
}