mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
feat(obj_class) separate lv_obj_class_create_obj into lv_obj_class_create_obj and lv_obj_class_init_obj
It allows using the new object reference somewhere before initializing it. Usuful for the Micropython binding.
This commit is contained in:
parent
21a1dca21e
commit
a46f20de91
@ -174,7 +174,10 @@ void lv_deinit(void)
|
||||
|
||||
lv_obj_t * lv_obj_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_obj_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -40,7 +40,7 @@ static uint32_t get_instance_size(const lv_obj_class_t * class_p);
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * parent, void * user_data)
|
||||
lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * parent)
|
||||
{
|
||||
LV_TRACE_OBJ_CREATE("Creating object with %p class on %p parent", class_p, parent);
|
||||
uint32_t s = get_instance_size(class_p);
|
||||
@ -49,11 +49,6 @@ lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * pa
|
||||
lv_memset_00(obj, s);
|
||||
obj->class_p = class_p;
|
||||
obj->parent = parent;
|
||||
#if LV_USE_USER_DATA
|
||||
obj->user_data = user_data;
|
||||
#else
|
||||
LV_UNUSED(user_data);
|
||||
#endif
|
||||
|
||||
/*Create a screen*/
|
||||
if(parent == NULL) {
|
||||
@ -99,6 +94,11 @@ lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * pa
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
void lv_obj_class_init_obj(lv_obj_t * obj)
|
||||
{
|
||||
lv_obj_mark_layout_as_dirty(obj);
|
||||
lv_obj_enable_style_refresh(false);
|
||||
|
||||
@ -116,6 +116,7 @@ lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * pa
|
||||
lv_group_add_obj(def_group, obj);
|
||||
}
|
||||
|
||||
lv_obj_t * parent = lv_obj_get_parent(obj);
|
||||
if(parent) {
|
||||
/*Call the ancestor's event handler to the parent to notify it about the new child.
|
||||
*Also triggers layout update*/
|
||||
@ -124,8 +125,6 @@ lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * pa
|
||||
/*Invalidate the area if not screen created*/
|
||||
lv_obj_invalidate(obj);
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
void _lv_obj_destructor(lv_obj_t * obj)
|
||||
|
@ -70,11 +70,11 @@ typedef struct _lv_obj_class_t {
|
||||
* Create an object form a class descriptor
|
||||
* @param class_p pointer to a class
|
||||
* @param parent pointer to an object where the new object should be created
|
||||
* @param user_data a custom user_data to set in `obj->user_data` in creation time. Requires `LV_USE_USER_DATA 1`
|
||||
* As some event fire during creation it's useful make user_data available for those events too.
|
||||
* @return pointer to the created object
|
||||
*/
|
||||
struct _lv_obj_t * lv_obj_class_create_obj(const struct _lv_obj_class_t * class_p, struct _lv_obj_t * parent, void * user_data);
|
||||
struct _lv_obj_t * lv_obj_class_create_obj(const struct _lv_obj_class_t * class_p, struct _lv_obj_t * parent);
|
||||
|
||||
void lv_obj_class_init_obj(struct _lv_obj_t * obj);
|
||||
|
||||
void _lv_obj_destructor(struct _lv_obj_t * obj);
|
||||
|
||||
|
@ -57,10 +57,12 @@ const lv_obj_class_t lv_animimg_class = {
|
||||
lv_obj_t * lv_animimg_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_animimg_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_animimg_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
void lv_animimg_set_src(lv_obj_t * obj, lv_img_dsc_t ** dsc, uint8_t num)
|
||||
void lv_animimg_set_src(lv_obj_t * obj, lv_img_dsc_t * dsc[], uint8_t num)
|
||||
{
|
||||
lv_animimg_t * animimg = (lv_animimg_t *)obj;
|
||||
animimg->dsc = dsc;
|
||||
|
@ -56,8 +56,9 @@ static const char * day_names_def[7] = LV_CALENDAR_DEFAULT_DAY_NAMES;
|
||||
|
||||
lv_obj_t * lv_calendar_create(lv_obj_t * parent)
|
||||
{
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_calendar_class, parent, NULL);
|
||||
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_calendar_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,9 @@ const lv_obj_class_t lv_chart_class = {
|
||||
lv_obj_t * lv_chart_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_chart_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
void lv_chart_set_type(lv_obj_t * obj, lv_chart_type_t type)
|
||||
|
@ -74,8 +74,12 @@ static bool create_knob_recolor;
|
||||
*/
|
||||
lv_obj_t * lv_colorwheel_create(lv_obj_t * parent, bool knob_recolor)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
create_knob_recolor = knob_recolor;
|
||||
return lv_obj_class_create_obj(&lv_colorwheel_class, parent, NULL);
|
||||
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -55,7 +55,10 @@ const lv_obj_class_t lv_imgbtn_class = {
|
||||
*/
|
||||
lv_obj_t * lv_imgbtn_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_imgbtn_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -121,7 +121,10 @@ static const lv_btnmatrix_ctrl_t * kb_ctrl[5] = {
|
||||
*/
|
||||
lv_obj_t * lv_keyboard_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_keyboard_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_keyboard_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -59,7 +59,10 @@ const lv_obj_class_t lv_led_class = {
|
||||
*/
|
||||
lv_obj_t * lv_led_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_led_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -55,42 +55,45 @@ const lv_obj_class_t lv_list_text_class = {
|
||||
|
||||
lv_obj_t * lv_list_create(lv_obj_t * parent)
|
||||
{
|
||||
lv_obj_t * list = lv_obj_class_create_obj(&lv_list_class, parent, NULL);
|
||||
lv_obj_set_flex_flow(list, LV_FLEX_FLOW_COLUMN);
|
||||
|
||||
return list;
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_list_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_COLUMN);
|
||||
return obj;
|
||||
}
|
||||
|
||||
lv_obj_t * lv_list_add_text(lv_obj_t * list, const char * txt)
|
||||
{
|
||||
lv_obj_t * label = lv_obj_class_create_obj(&lv_list_text_class, list, NULL);
|
||||
lv_label_set_text(label, txt);
|
||||
lv_label_set_long_mode(label, LV_LABEL_LONG_SCROLL_CIRCULAR);
|
||||
lv_obj_set_width(label, LV_PCT(100));
|
||||
return label;
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_list_text_class, list);
|
||||
lv_obj_class_init_obj(obj);
|
||||
lv_label_set_text(obj, txt);
|
||||
lv_label_set_long_mode(obj, LV_LABEL_LONG_SCROLL_CIRCULAR);
|
||||
lv_obj_set_width(obj, LV_PCT(100));
|
||||
return obj;
|
||||
}
|
||||
|
||||
lv_obj_t * lv_list_add_btn(lv_obj_t * list, const char * icon, const char * txt, lv_event_cb_t event_cb)
|
||||
{
|
||||
lv_obj_t * btn = lv_obj_class_create_obj(&lv_list_btn_class, list, NULL);
|
||||
lv_obj_set_size(btn, LV_PCT(100), LV_SIZE_CONTENT);
|
||||
if(event_cb) {
|
||||
lv_obj_add_event_cb(btn, event_cb, LV_EVENT_ALL, NULL);
|
||||
}
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_list_btn_class, list);
|
||||
lv_obj_class_init_obj(obj);
|
||||
lv_obj_set_size(obj, LV_PCT(100), LV_SIZE_CONTENT);
|
||||
if(event_cb) lv_obj_add_event_cb(obj, event_cb, LV_EVENT_ALL, NULL);
|
||||
|
||||
if(icon) {
|
||||
lv_obj_t * img = lv_img_create(btn);
|
||||
lv_obj_t * img = lv_img_create(obj);
|
||||
lv_img_set_src(img, icon);
|
||||
}
|
||||
|
||||
if(txt) {
|
||||
lv_obj_t * label = lv_label_create(btn);
|
||||
lv_obj_t * label = lv_label_create(obj);
|
||||
lv_label_set_text(label, txt);
|
||||
lv_label_set_long_mode(label, LV_LABEL_LONG_SCROLL_CIRCULAR);
|
||||
lv_obj_set_flex_grow(label, 1);
|
||||
}
|
||||
|
||||
return btn;
|
||||
return obj;
|
||||
}
|
||||
|
||||
const char * lv_list_get_btn_text(lv_obj_t * list, lv_obj_t * btn)
|
||||
|
@ -52,7 +52,9 @@ const lv_obj_class_t lv_meter_class = {
|
||||
lv_obj_t * lv_meter_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_meter_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -39,6 +39,7 @@ const lv_obj_class_t lv_msgbox_class = {.base_class = &lv_obj_class};
|
||||
|
||||
lv_obj_t * lv_msgbox_create(lv_obj_t * parent, const char * title, const char * txt, const char * btn_txts[], bool add_close_btn)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
bool auto_parent = false;
|
||||
if(parent == NULL) {
|
||||
auto_parent = true;
|
||||
@ -49,7 +50,8 @@ lv_obj_t * lv_msgbox_create(lv_obj_t * parent, const char * title, const char *
|
||||
lv_obj_set_size(parent, LV_PCT(100), LV_PCT(100));
|
||||
}
|
||||
|
||||
lv_obj_t * mbox = lv_obj_class_create_obj(&lv_msgbox_class, parent, NULL);
|
||||
lv_obj_t * mbox = lv_obj_class_create_obj(&lv_msgbox_class, parent);
|
||||
lv_obj_class_init_obj(mbox);
|
||||
LV_ASSERT_MALLOC(mbox);
|
||||
if(mbox == NULL) return NULL;
|
||||
|
||||
|
@ -46,7 +46,10 @@ const lv_obj_class_t lv_spinbox_class = {
|
||||
|
||||
lv_obj_t * lv_spinbox_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_spinbox_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -49,9 +49,13 @@ static lv_coord_t tabsize_create;
|
||||
|
||||
lv_obj_t * lv_tabview_create(lv_obj_t * parent, lv_dir_t tab_pos, lv_coord_t tab_size)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
tabpos_create = tab_pos;
|
||||
tabsize_create = tab_size;
|
||||
return lv_obj_class_create_obj(&lv_tabview_class, parent, NULL);
|
||||
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_tabview_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
lv_obj_t * lv_tabview_add_tab(lv_obj_t * obj, const char * name)
|
||||
|
@ -50,7 +50,10 @@ static uint32_t create_row_id;
|
||||
|
||||
lv_obj_t * lv_tileview_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_tileview_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_tileview_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*======================
|
||||
@ -59,10 +62,14 @@ lv_obj_t * lv_tileview_create(lv_obj_t * parent)
|
||||
|
||||
lv_obj_t * lv_tileview_add_tile(lv_obj_t * tv, uint8_t col_id, uint8_t row_id, lv_dir_t dir)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
create_dir = dir;
|
||||
create_col_id = col_id;
|
||||
create_row_id = row_id;
|
||||
return lv_obj_class_create_obj(&lv_tileview_tile_class, tv, NULL);
|
||||
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_tileview_tile_class, tv);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
void lv_obj_set_tile(lv_obj_t * tv, lv_obj_t * tile_obj, lv_anim_enable_t anim_en)
|
||||
|
@ -44,8 +44,12 @@ static lv_coord_t create_header_height;
|
||||
|
||||
lv_obj_t * lv_win_create(lv_obj_t * parent, lv_coord_t header_height)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
create_header_height = header_height;
|
||||
return lv_obj_class_create_obj(&lv_win_class, parent, NULL);
|
||||
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_win_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
lv_obj_t * lv_win_add_title(lv_obj_t * win, const char * txt)
|
||||
|
@ -65,7 +65,9 @@ const lv_obj_class_t lv_arc_class = {
|
||||
lv_obj_t * lv_arc_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_arc_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*======================
|
||||
|
@ -78,7 +78,9 @@ const lv_obj_class_t lv_bar_class = {
|
||||
lv_obj_t * lv_bar_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_bar_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -15,6 +15,7 @@
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
#define MY_CLASS &lv_btn_class
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
@ -48,7 +49,9 @@ const lv_obj_class_t lv_btn_class = {
|
||||
lv_obj_t * lv_btn_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_btn_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**********************
|
||||
|
@ -79,7 +79,9 @@ const lv_obj_class_t lv_btnmatrix_class = {
|
||||
lv_obj_t * lv_btnmatrix_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_btnmatrix_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -67,7 +67,9 @@ const lv_obj_class_t lv_canvas_class = {
|
||||
lv_obj_t * lv_canvas_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_canvas_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -56,7 +56,9 @@ const lv_obj_class_t lv_checkbox_class = {
|
||||
lv_obj_t * lv_checkbox_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_checkbox_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -90,7 +90,9 @@ const lv_obj_class_t lv_dropdownlist_class = {
|
||||
lv_obj_t * lv_dropdown_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_dropdown_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_dropdown_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
@ -517,7 +519,10 @@ void lv_dropdown_close(lv_obj_t * obj)
|
||||
|
||||
static lv_obj_t * lv_dropdown_list_create(lv_obj_t * parent)
|
||||
{
|
||||
return lv_obj_class_create_obj(&lv_dropdownlist_class, parent, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_dropdownlist_class, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
static void lv_dropdown_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
|
@ -57,7 +57,9 @@ const lv_obj_class_t lv_img_class = {
|
||||
lv_obj_t * lv_img_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_img_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -73,7 +73,9 @@ const lv_obj_class_t lv_label_class = {
|
||||
lv_obj_t * lv_label_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_label_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -54,7 +54,9 @@ const lv_obj_class_t lv_line_class = {
|
||||
lv_obj_t * lv_line_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_line_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -77,7 +77,9 @@ const lv_obj_class_t lv_roller_label_class = {
|
||||
lv_obj_t * lv_roller_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_roller_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
@ -297,7 +299,9 @@ static void lv_roller_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN);
|
||||
|
||||
lv_obj_class_create_obj(&lv_roller_label_class, obj, NULL);
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * label = lv_obj_class_create_obj(&lv_roller_label_class, obj);
|
||||
lv_obj_class_init_obj(label);
|
||||
lv_roller_set_options(obj, "Option 1\nOption 2\nOption 3\nOption 4\nOption 5", LV_ROLLER_MODE_NORMAL);
|
||||
|
||||
LV_LOG_TRACE("finshed");
|
||||
|
@ -59,7 +59,9 @@ const lv_obj_class_t lv_slider_class = {
|
||||
lv_obj_t * lv_slider_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_slider_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
bool lv_slider_is_dragged(const lv_obj_t * obj)
|
||||
|
@ -61,7 +61,9 @@ const lv_obj_class_t lv_switch_class = {
|
||||
lv_obj_t * lv_switch_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_switch_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**********************
|
||||
|
@ -64,7 +64,9 @@ const lv_obj_class_t lv_table_class = {
|
||||
lv_obj_t * lv_table_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_table_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
|
@ -84,7 +84,9 @@ static const char * ta_insert_replace;
|
||||
lv_obj_t * lv_textarea_create(lv_obj_t * parent)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
return lv_obj_class_create_obj(&lv_textarea_class, parent, NULL);
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
|
||||
lv_obj_class_init_obj(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/*======================
|
||||
|
Loading…
x
Reference in New Issue
Block a user