#include #include #include #include #include #include #include #include #include static void create_widgets(lv_obj_t* parent, void* userData) { lv_obj_t* toolbar = lvgl_toolbar_create(parent, "Title"); lv_obj_align(toolbar, LV_ALIGN_TOP_MID, 0, 0); lv_obj_t* label = lv_label_create(parent); lv_label_set_text(label, SDK_TEST_GREETING); lv_obj_align(label, LV_ALIGN_CENTER, 0, 0); } int main(int argc, char* argv[]) { AppInstanceId app_instance_id = app_scheduler_current_app_id(); struct TaskEventGroup event_group = {0}; task_event_group_construct(&event_group); struct AppEventSubscription sub = {0}; check(app_event_subscribe(&sub, &event_group) == ERROR_NONE); WindowId window = window_manager_create(app_instance_id, create_widgets, NULL); bool should_close = false; while (!should_close) { task_event_group_wait_any(&event_group, NULL, portMAX_DELAY); struct AppEvent event; while (app_event_poll(&sub, &event) == ERROR_NONE) { if (event.type == APP_EVENT_CLOSE) { should_close = true; break; } } } window_manager_remove(window); check(app_event_unsubscribe(&sub) == ERROR_NONE); task_event_group_destruct(&event_group); return 0; }