static void ssd1306_task(void *pvParameters) { printf("%s: Started user interface task\n", __FUNCTION__); vTaskDelay(SECOND); ssd1306_set_whole_display_lighting(&dev, false); //Set a style for the obj lv_style_copy(&style, &lv_style_transp); style.text.font = &lv_font_dejavu_10; /*Unicode and symbol fonts already assigned by the library*/ style.text.color.full = 1; style.text.opa = 255; style.body.main_color.full = 0; style.body.grad_color.full = 0; style.body.shadow.color.full = 0; style.body.border.color.full = 0; style.body.empty = 1; style.image.color.full = 1; style.image.intense = 255; style.image.opa = 255; style.line.color.full = 1; style.line.opa = 255; style.line.width = 1; style.line.rounded = false; //Create main screen obj lv_obj_t * scr = lv_obj_create(NULL, NULL); lv_scr_load(scr); lv_obj_set_style(scr, &style); //Create a simple label label = lv_label_create(lv_scr_act(), NULL); lv_obj_set_style(label, &style); lv_obj_align(label, lv_scr_act(), LV_ALIGN_IN_TOP_LEFT, 0, 0); lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK); lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_label_set_text(label, "lvgl work with esp-open-rtos"); lv_obj_set_width(label, LV_HOR_RES); while (1) { /*draw system call */ lv_task_handler(); vTaskDelay(1); } }
/** * Create a test screen with a lot objects and apply the given theme on them * @param th pointer to a theme */ void lv_test_theme_1(lv_theme_t *th) { lv_theme_set_current(th); lv_obj_t *scr = lv_cont_create(NULL, NULL); lv_scr_load(scr); lv_cont_set_style(scr, th->bg); lv_obj_t *tv = lv_tabview_create(scr, NULL); lv_obj_set_size(tv, LV_HOR_RES, LV_VER_RES); lv_obj_t *tab1 = lv_tabview_add_tab(tv, "Tab 1"); lv_obj_t *tab2 = lv_tabview_add_tab(tv, "Tab 2"); lv_obj_t *tab3 = lv_tabview_add_tab(tv, "Tab 3"); create_tab1(th, tab1); create_tab2(th, tab2); create_tab3(th, tab3); // lv_tabview_set_current_tab(tv, 2, false); }