mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-14 06:42:58 +08:00
fix(obj) add lv_obj_class_t * as first parameter of constructors and destructors
It's required for compatibility with the MicroPython binding.
This commit is contained in:
parent
04f0ffc775
commit
834e2177e7
@ -64,8 +64,8 @@ typedef struct _lv_event_dsc_t{
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_obj_constructor(lv_obj_t * obj);
|
||||
static void lv_obj_destructor(lv_obj_t * obj);
|
||||
static void lv_obj_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_obj_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_obj_draw(lv_obj_t * obj, lv_event_t e);
|
||||
static void lv_obj_event_cb(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_scrollbar(lv_obj_t * obj, const lv_area_t * clip_area);
|
||||
@ -575,8 +575,9 @@ bool lv_obj_is_valid(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_obj_constructor(lv_obj_t * obj)
|
||||
static void lv_obj_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_obj_t * parent = obj->parent;
|
||||
@ -604,9 +605,10 @@ static void lv_obj_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_obj_destructor(lv_obj_t * p)
|
||||
static void lv_obj_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
lv_obj_t * obj = p;
|
||||
LV_UNUSED(class_p);
|
||||
|
||||
if(obj->spec_attr) {
|
||||
if(obj->spec_attr->children) {
|
||||
lv_mem_free(obj->spec_attr->children);
|
||||
|
@ -115,16 +115,16 @@ lv_obj_t * lv_obj_create_from_class(const lv_obj_class_t * class_p, lv_obj_t * p
|
||||
return obj;
|
||||
}
|
||||
|
||||
void _lv_obj_destruct(lv_obj_t * obj)
|
||||
void _lv_obj_destructor(lv_obj_t * obj)
|
||||
{
|
||||
if(obj->class_p->destructor_cb) obj->class_p->destructor_cb(obj);
|
||||
if(obj->class_p->destructor_cb) obj->class_p->destructor_cb(obj->class_p, obj);
|
||||
|
||||
if(obj->class_p->base_class) {
|
||||
/*Don't let the descendant methods run during destructing the ancestor type*/
|
||||
obj->class_p = obj->class_p->base_class;
|
||||
|
||||
/*Call the base class's destructor too*/
|
||||
_lv_obj_destruct(obj);
|
||||
_lv_obj_destructor(obj);
|
||||
}
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ static void lv_obj_construct(lv_obj_t * obj)
|
||||
/*Restore the original class*/
|
||||
obj->class_p = original_class_p;
|
||||
|
||||
if(obj->class_p->constructor_cb) obj->class_p->constructor_cb(obj);
|
||||
if(obj->class_p->constructor_cb) obj->class_p->constructor_cb(obj->class_p, obj);
|
||||
}
|
||||
|
||||
static uint32_t get_instance_size(const lv_obj_class_t * class_p)
|
||||
|
@ -45,8 +45,8 @@ typedef enum {
|
||||
*/
|
||||
typedef struct _lv_obj_class_t {
|
||||
const struct _lv_obj_class_t * base_class;
|
||||
void (*constructor_cb)(struct _lv_obj_t * obj);
|
||||
void (*destructor_cb)(struct _lv_obj_t * obj);
|
||||
void (*constructor_cb)(const struct _lv_obj_class_t * class_p, struct _lv_obj_t * obj);
|
||||
void (*destructor_cb)(const struct _lv_obj_class_t * class_p, struct _lv_obj_t * obj);
|
||||
#if LV_USE_USER_DATA
|
||||
void * user_data;
|
||||
#endif
|
||||
@ -70,7 +70,7 @@ typedef struct _lv_obj_class_t {
|
||||
*/
|
||||
struct _lv_obj_t * lv_obj_create_from_class(const struct _lv_obj_class_t * class_p, struct _lv_obj_t * parent);
|
||||
|
||||
void _lv_obj_destruct(struct _lv_obj_t * obj);
|
||||
void _lv_obj_destructor(struct _lv_obj_t * obj);
|
||||
|
||||
bool lv_obj_is_editable(struct _lv_obj_t * obj);
|
||||
|
||||
|
@ -373,7 +373,7 @@ static void obj_del_core(lv_obj_t * obj)
|
||||
}
|
||||
|
||||
/*All children deleted. Now clean up the object specific data*/
|
||||
_lv_obj_destruct(obj);
|
||||
_lv_obj_destructor(obj);
|
||||
|
||||
/*Remove the screen for the screen list*/
|
||||
if(obj->parent == NULL) {
|
||||
|
@ -23,7 +23,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void my_constructor(lv_obj_t * obj);
|
||||
static void my_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void draw_event_cb(lv_obj_t * obj, lv_event_t e);
|
||||
|
||||
static uint8_t get_day_of_week(uint32_t year, uint32_t month, uint32_t day);
|
||||
@ -206,8 +206,9 @@ bool lv_calendar_get_pressed_date(const lv_obj_t * obj, lv_calendar_date_t * dat
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void my_constructor(lv_obj_t * obj)
|
||||
static void my_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_calendar_t * calendar = (lv_calendar_t *)obj;
|
||||
|
||||
/*Initialize the allocated 'ext'*/
|
||||
|
@ -32,7 +32,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_colorwheel_constructor(lv_obj_t * obj);
|
||||
static void lv_colorwheel_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_colorwheel_event(lv_obj_t * obj, lv_event_t e);
|
||||
|
||||
static void draw_disc_grad(lv_obj_t * obj);
|
||||
@ -208,8 +208,9 @@ bool lv_colorwheel_get_color_mode_fixed(lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_colorwheel_constructor(lv_obj_t * obj)
|
||||
static void lv_colorwheel_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_colorwheel_t * colorwheel = (lv_colorwheel_t *)obj;
|
||||
colorwheel->hsv.h = 0;
|
||||
colorwheel->hsv.s = 100;
|
||||
|
@ -23,7 +23,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_imgbtn_constructor(lv_obj_t * obj);
|
||||
static void lv_imgbtn_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void draw_main(lv_obj_t * obj);
|
||||
static void lv_imgbtn_event(lv_obj_t * imgbtn, lv_event_t e);
|
||||
static void refr_img(lv_obj_t * imgbtn);
|
||||
@ -147,8 +147,9 @@ const void * lv_imgbtn_get_src_right(lv_obj_t * obj, lv_imgbtn_state_t state)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_imgbtn_constructor(lv_obj_t * obj)
|
||||
static void lv_imgbtn_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_imgbtn_t * imgbtn = (lv_imgbtn_t *)obj;
|
||||
/*Initialize the allocated 'ext'*/
|
||||
lv_memset_00((void *)imgbtn->img_src_mid, sizeof(imgbtn->img_src_mid));
|
||||
|
@ -23,7 +23,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_keyboard_constructor(lv_obj_t * obj);
|
||||
static void lv_keyboard_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
|
||||
static void lv_keyboard_update_map(lv_obj_t * obj);
|
||||
|
||||
@ -320,8 +320,9 @@ void lv_keyboard_def_event_cb(lv_obj_t * obj, lv_event_t event)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_keyboard_constructor(lv_obj_t * obj)
|
||||
static void lv_keyboard_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICK_FOCUSABLE);
|
||||
|
||||
lv_keyboard_t * keyboard = (lv_keyboard_t *)obj;
|
||||
|
@ -29,7 +29,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_led_constructor(lv_obj_t * obj);
|
||||
static void lv_led_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_led_event(lv_obj_t * obj, lv_event_t e);
|
||||
|
||||
/**********************
|
||||
@ -147,8 +147,9 @@ uint8_t lv_led_get_brightness(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_led_constructor(lv_obj_t * obj)
|
||||
static void lv_led_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_led_t * led = (lv_led_t *)obj;
|
||||
led->color = lv_theme_get_color_primary(obj);
|
||||
led->bright = LV_LED_BRIGHT_MAX;
|
||||
|
@ -22,7 +22,7 @@
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
static void lv_spinbox_constructor(lv_obj_t * obj);
|
||||
static void lv_spinbox_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_spinbox_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void lv_spinbox_updatevalue(lv_obj_t * obj);
|
||||
|
||||
@ -269,8 +269,9 @@ void lv_spinbox_decrement(lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_spinbox_constructor(lv_obj_t * obj)
|
||||
static void lv_spinbox_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_LOG_TRACE("begin");
|
||||
|
||||
lv_spinbox_t * spinbox = (lv_spinbox_t *)obj;
|
||||
|
@ -20,8 +20,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_tabview_constructor(lv_obj_t * obj);
|
||||
static void lv_tabview_destructor(lv_obj_t * obj);
|
||||
static void lv_tabview_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_tabview_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void btns_event_cb(lv_obj_t * btns, lv_event_t e);
|
||||
static void cont_event_cb(lv_obj_t * cont, lv_event_t e);
|
||||
|
||||
@ -146,8 +146,9 @@ lv_obj_t * lv_tabview_get_tab_btns(lv_obj_t * tv)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_tabview_constructor(lv_obj_t * obj)
|
||||
static void lv_tabview_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_tabview_t * tabview = (lv_tabview_t *)obj;
|
||||
|
||||
tabview->tab_pos = tabpos_create;
|
||||
@ -209,8 +210,9 @@ static void lv_tabview_constructor(lv_obj_t * obj)
|
||||
lv_obj_clear_flag(cont, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
||||
}
|
||||
|
||||
static void lv_tabview_destructor(lv_obj_t * obj)
|
||||
static void lv_tabview_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_tabview_t * tabview = (lv_tabview_t *)obj;
|
||||
|
||||
uint32_t i;
|
||||
|
@ -20,8 +20,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_tileview_constructor(lv_obj_t * obj);
|
||||
static void lv_tileview_tile_constructor(lv_obj_t * obj);
|
||||
static void lv_tileview_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_tileview_tile_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void tileview_event_cb(lv_obj_t * tv, lv_event_t e);
|
||||
|
||||
/**********************
|
||||
@ -101,8 +101,9 @@ void lv_obj_set_tile_id(lv_obj_t * tv, uint32_t col_id, uint32_t row_id, lv_anim
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_tileview_constructor(lv_obj_t * obj)
|
||||
static void lv_tileview_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_obj_set_size(obj, LV_SIZE_PCT(100), LV_SIZE_PCT(100));
|
||||
lv_obj_add_event_cb(obj, tileview_event_cb, NULL);
|
||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ONE);
|
||||
@ -111,8 +112,9 @@ static void lv_tileview_constructor(lv_obj_t * obj)
|
||||
|
||||
}
|
||||
|
||||
static void lv_tileview_tile_constructor(lv_obj_t * obj)
|
||||
static void lv_tileview_tile_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_obj_t * parent = lv_obj_get_parent(obj);
|
||||
lv_obj_set_size(obj, LV_SIZE_PCT(100), LV_SIZE_PCT(100));
|
||||
lv_obj_set_pos(obj, create_col_id * lv_obj_get_width_fit(parent), create_row_id * lv_obj_get_height_fit(parent));
|
||||
|
@ -21,7 +21,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_win_constructor(lv_obj_t * obj);
|
||||
static void lv_win_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
@ -86,8 +86,9 @@ lv_obj_t * lv_win_get_content(lv_obj_t * win)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_win_constructor(lv_obj_t * obj)
|
||||
static void lv_win_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_obj_t * parent = lv_obj_get_parent(obj);
|
||||
lv_obj_set_size(obj, lv_obj_get_width(parent), lv_obj_get_height(parent));
|
||||
lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_COLUMN);
|
||||
|
@ -818,7 +818,7 @@ static void* block_prepare_used(control_t* control, block_header_t* block, size_
|
||||
}
|
||||
|
||||
/* Clear structure and point all empty lists at the null block. */
|
||||
static void control_construct(control_t* control)
|
||||
static void control_constructor(control_t* control)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
@ -1113,7 +1113,7 @@ tlsf_t tlsf_create(void* mem)
|
||||
return 0;
|
||||
}
|
||||
|
||||
control_construct(tlsf_cast(control_t*, mem));
|
||||
control_constructor(tlsf_cast(control_t*, mem));
|
||||
|
||||
return tlsf_cast(tlsf_t, mem);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
static void lv_arc_constructor(lv_obj_t * obj);
|
||||
static void lv_arc_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_arc_draw(lv_obj_t * obj);
|
||||
static void lv_arc_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void inv_arc_area(lv_obj_t * arc, uint16_t start_angle, uint16_t end_angle, lv_part_t part);
|
||||
@ -479,8 +479,9 @@ lv_arc_type_t lv_arc_get_type(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_arc_constructor(lv_obj_t * obj)
|
||||
static void lv_arc_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_arc_t * arc = (lv_arc_t *)obj;
|
||||
|
@ -45,8 +45,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_bar_constructor(lv_obj_t * obj);
|
||||
static void lv_bar_destructor(lv_obj_t * obj);
|
||||
static void lv_bar_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_bar_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_bar_event(lv_obj_t * bar, lv_event_t e);
|
||||
static void draw_indic(lv_obj_t * bar);
|
||||
static void lv_bar_set_value_with_anim(lv_obj_t * obj, int16_t new_value, int16_t * value_ptr,
|
||||
@ -200,8 +200,9 @@ lv_bar_mode_t lv_bar_get_mode(lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_bar_constructor(lv_obj_t * obj)
|
||||
static void lv_bar_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_bar_t * bar = (lv_bar_t *)obj;
|
||||
@ -221,8 +222,9 @@ static void lv_bar_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_bar_destructor(lv_obj_t * obj)
|
||||
static void lv_bar_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_bar_t * bar = (lv_bar_t *)obj;
|
||||
|
||||
lv_anim_del(&bar->cur_value_anim, NULL);
|
||||
|
@ -23,7 +23,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_btn_constructor(lv_obj_t * obj);
|
||||
static void lv_btn_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
@ -55,8 +55,9 @@ lv_obj_t * lv_btn_create(lv_obj_t * parent)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_btn_constructor(lv_obj_t * obj)
|
||||
static void lv_btn_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
|
||||
|
@ -32,8 +32,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_btnmatrix_constructor(lv_obj_t * obj);
|
||||
static void lv_btnmatrix_destructor(lv_obj_t * obj);
|
||||
static void lv_btnmatrix_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_btnmatrix_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_btnmatrix_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_main(lv_obj_t * obj);
|
||||
|
||||
@ -356,8 +356,10 @@ bool lv_btnmatrix_get_one_checked(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_btnmatrix_constructor(lv_obj_t * obj)
|
||||
static void lv_btnmatrix_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
lv_btnmatrix_t * btnm = (lv_btnmatrix_t *)obj;
|
||||
btnm->btn_cnt = 0;
|
||||
btnm->btn_id_sel = LV_BTNMATRIX_BTN_NONE;
|
||||
@ -369,16 +371,19 @@ static void lv_btnmatrix_constructor(lv_obj_t * obj)
|
||||
|
||||
lv_btnmatrix_set_map(obj, lv_btnmatrix_def_map);
|
||||
|
||||
LV_LOG_TRACE("finshed");
|
||||
LV_TRACE_OBJ_CREATE("finshed");
|
||||
}
|
||||
|
||||
static void lv_btnmatrix_destructor(lv_obj_t * obj)
|
||||
static void lv_btnmatrix_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
LV_UNUSED(class_p);
|
||||
lv_btnmatrix_t * btnm = (lv_btnmatrix_t *)obj;
|
||||
lv_mem_free(btnm->button_areas);
|
||||
lv_mem_free(btnm->ctrl_bits);
|
||||
btnm->button_areas = NULL;
|
||||
btnm->ctrl_bits = NULL;
|
||||
LV_TRACE_OBJ_CREATE("finshed");
|
||||
}
|
||||
|
||||
static void lv_btnmatrix_event(lv_obj_t * obj, lv_event_t e)
|
||||
|
@ -27,7 +27,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_canvas_constructor(lv_obj_t * obj);
|
||||
static void lv_canvas_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void set_set_px_cb(lv_disp_drv_t * disp_drv, lv_img_cf_t cf);
|
||||
|
||||
static void set_px_true_color_alpha(lv_disp_drv_t * disp_drv, uint8_t * buf, lv_coord_t buf_w, lv_coord_t x,
|
||||
@ -892,22 +892,23 @@ void lv_canvas_draw_arc(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_canvas_constructor(lv_obj_t * obj)
|
||||
static void lv_canvas_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_canvas_t * canvas = (lv_canvas_t *)obj;
|
||||
lv_canvas_t * canvas = (lv_canvas_t *)obj;
|
||||
|
||||
canvas->dsc.header.always_zero = 0;
|
||||
canvas->dsc.header.cf = LV_IMG_CF_TRUE_COLOR;
|
||||
canvas->dsc.header.h = 0;
|
||||
canvas->dsc.header.w = 0;
|
||||
canvas->dsc.data_size = 0;
|
||||
canvas->dsc.data = NULL;
|
||||
canvas->dsc.header.always_zero = 0;
|
||||
canvas->dsc.header.cf = LV_IMG_CF_TRUE_COLOR;
|
||||
canvas->dsc.header.h = 0;
|
||||
canvas->dsc.header.w = 0;
|
||||
canvas->dsc.data_size = 0;
|
||||
canvas->dsc.data = NULL;
|
||||
|
||||
lv_img_set_src(obj, &canvas->dsc);
|
||||
lv_img_set_src(obj, &canvas->dsc);
|
||||
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void set_set_px_cb(lv_disp_drv_t * disp_drv, lv_img_cf_t cf)
|
||||
|
@ -36,8 +36,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_chart_constructor(lv_obj_t * obj);
|
||||
static void lv_chart_destructor(lv_obj_t * obj);
|
||||
static void lv_chart_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_chart_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_chart_event(lv_obj_t * obj, lv_event_t e);
|
||||
|
||||
static void draw_div_lines(lv_obj_t * obj , const lv_area_t * mask);
|
||||
@ -564,8 +564,9 @@ uint32_t lv_chart_get_pressed_point(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_chart_constructor(lv_obj_t * obj)
|
||||
static void lv_chart_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_chart_t * chart = (lv_chart_t *)obj;
|
||||
@ -590,8 +591,11 @@ static void lv_chart_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_chart_destructor(lv_obj_t * obj)
|
||||
static void lv_chart_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_chart_t * chart = (lv_chart_t *)obj;
|
||||
lv_chart_series_t * ser;
|
||||
while(chart->series_ll.head) {
|
||||
@ -603,6 +607,8 @@ static void lv_chart_destructor(lv_obj_t * obj)
|
||||
lv_mem_free(ser);
|
||||
}
|
||||
_lv_ll_clear(&chart->series_ll);
|
||||
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_chart_event(lv_obj_t * obj, lv_event_t e)
|
||||
|
@ -26,8 +26,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_checkbox_constructor(lv_obj_t * obj);
|
||||
static void lv_checkbox_destructor(lv_obj_t * obj);
|
||||
static void lv_checkbox_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_checkbox_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_checkbox_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void lv_checkbox_draw(lv_obj_t * obj);
|
||||
|
||||
@ -111,8 +111,9 @@ const char * lv_checkbox_get_text(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_checkbox_constructor(lv_obj_t * obj)
|
||||
static void lv_checkbox_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_checkbox_t * cb = (lv_checkbox_t *)obj;
|
||||
@ -126,13 +127,17 @@ static void lv_checkbox_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_checkbox_destructor(lv_obj_t * obj)
|
||||
static void lv_checkbox_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_checkbox_t * cb = (lv_checkbox_t *)obj;
|
||||
if(!cb->static_txt) {
|
||||
lv_mem_free(cb->txt);
|
||||
cb->txt = NULL;
|
||||
}
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_checkbox_event(lv_obj_t * obj, lv_event_t e)
|
||||
|
@ -37,13 +37,13 @@
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static lv_obj_t * lv_dropdown_list_create(lv_obj_t * parent);
|
||||
static void lv_dropdown_constructor(lv_obj_t * obj);
|
||||
static void lv_dropdown_destructor(lv_obj_t * obj);
|
||||
static void lv_dropdown_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_dropdown_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_dropdown_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_main(lv_obj_t * obj);
|
||||
|
||||
static void lv_dropdownlist_constructor(lv_obj_t * obj);
|
||||
static void lv_dropdownlist_destructor(lv_obj_t * list_obj);
|
||||
static void lv_dropdownlist_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_dropdownlist_destructor(const lv_obj_class_t * class_p, lv_obj_t * list_obj);
|
||||
static void lv_dropdown_list_event(lv_obj_t * list, lv_event_t e);
|
||||
static void draw_list(lv_obj_t * obj);
|
||||
|
||||
@ -538,8 +538,9 @@ static lv_obj_t * lv_dropdown_list_create(lv_obj_t * parent)
|
||||
return lv_obj_create_from_class(&lv_dropdownlist_class, parent);
|
||||
}
|
||||
|
||||
static void lv_dropdown_constructor(lv_obj_t * obj)
|
||||
static void lv_dropdown_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_dropdown_t * dropdown = (lv_dropdown_t *)obj;
|
||||
@ -564,8 +565,9 @@ static void lv_dropdown_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_dropdown_destructor(lv_obj_t * obj)
|
||||
static void lv_dropdown_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_dropdown_t * dropdown = (lv_dropdown_t *)obj;
|
||||
|
||||
if(dropdown->list) {
|
||||
@ -579,8 +581,9 @@ static void lv_dropdown_destructor(lv_obj_t * obj)
|
||||
}
|
||||
}
|
||||
|
||||
static void lv_dropdownlist_constructor(lv_obj_t * obj)
|
||||
static void lv_dropdownlist_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
||||
@ -589,8 +592,9 @@ static void lv_dropdownlist_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_dropdownlist_destructor(lv_obj_t * list_obj)
|
||||
static void lv_dropdownlist_destructor(const lv_obj_class_t * class_p, lv_obj_t * list_obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_dropdown_list_t * list = (lv_dropdown_list_t *)list_obj;
|
||||
lv_obj_t * dropdown_obj = list->dropdown;
|
||||
lv_dropdown_t * dropdown = (lv_dropdown_t *)dropdown_obj;
|
||||
|
@ -28,8 +28,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_img_constructor(lv_obj_t * obj);
|
||||
static void lv_img_destructor(lv_obj_t * obj);
|
||||
static void lv_img_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_img_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_img_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_img(lv_obj_t * obj, lv_event_t e);
|
||||
|
||||
@ -360,8 +360,9 @@ bool lv_img_get_antialias(lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_img_constructor(lv_obj_t * obj)
|
||||
static void lv_img_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_img_t * img = (lv_img_t *)obj;
|
||||
@ -385,8 +386,9 @@ static void lv_img_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_img_destructor(lv_obj_t * obj)
|
||||
static void lv_img_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_img_t * img = (lv_img_t *)obj;
|
||||
if(img->src_type == LV_IMG_SRC_FILE || img->src_type == LV_IMG_SRC_SYMBOL) {
|
||||
lv_mem_free((void*)img->src);
|
||||
|
@ -34,8 +34,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_label_constructor(lv_obj_t * obj);
|
||||
static void lv_label_destructor(lv_obj_t * obj);
|
||||
static void lv_label_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_label_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_label_event_cb(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_main(lv_obj_t * obj);
|
||||
|
||||
@ -692,8 +692,9 @@ void lv_label_cut_text(lv_obj_t * obj, uint32_t pos, uint32_t cnt)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_label_constructor(lv_obj_t * obj)
|
||||
static void lv_label_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_label_t * label = (lv_label_t *)obj;
|
||||
@ -727,8 +728,9 @@ static void lv_label_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_label_destructor(lv_obj_t * obj)
|
||||
static void lv_label_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_label_t * label = (lv_label_t *)obj;
|
||||
|
||||
lv_label_dot_tmp_free(obj);
|
||||
|
@ -28,7 +28,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_line_constructor(lv_obj_t * obj);
|
||||
static void lv_line_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_line_event(lv_obj_t * obj, lv_event_t e);
|
||||
|
||||
/**********************
|
||||
@ -103,8 +103,9 @@ bool lv_line_get_y_invert(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_line_constructor(lv_obj_t * obj)
|
||||
static void lv_line_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_line_t * line = (lv_line_t *)obj;
|
||||
|
@ -27,8 +27,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_meter_constructor(lv_obj_t * obj);
|
||||
static void lv_meter_destructor(lv_obj_t * obj);
|
||||
static void lv_meter_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_meter_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_meter_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_arcs(lv_obj_t * obj, const lv_area_t * clip_area, const lv_area_t * scale_area);
|
||||
static void draw_ticks_and_labels(lv_obj_t * obj, const lv_area_t * clip_area, const lv_area_t * scale_area);
|
||||
@ -246,8 +246,9 @@ void lv_meter_set_indicator_end_value(lv_obj_t * obj, lv_meter_indicator_t * ind
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_meter_constructor(lv_obj_t * obj)
|
||||
static void lv_meter_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_meter_t * meter = (lv_meter_t *)obj;
|
||||
@ -257,8 +258,9 @@ static void lv_meter_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_meter_destructor(lv_obj_t * obj)
|
||||
static void lv_meter_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_meter_t * meter = (lv_meter_t *)obj;
|
||||
lv_meter_scale_t * scale;
|
||||
scale = _lv_ll_get_head(&meter->scale_ll);
|
||||
|
@ -28,7 +28,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_roller_constructor(lv_obj_t * obj);
|
||||
static void lv_roller_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_roller_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void lv_roller_label_event(lv_obj_t * label, lv_event_t e);
|
||||
static void draw_main(lv_obj_t * obj, lv_event_t e);
|
||||
@ -283,8 +283,9 @@ uint16_t lv_roller_get_option_cnt(const lv_obj_t * obj)
|
||||
**********************/
|
||||
|
||||
|
||||
static void lv_roller_constructor(lv_obj_t * obj)
|
||||
static void lv_roller_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_roller_t * roller = (lv_roller_t*)obj;
|
||||
|
||||
roller->mode = LV_ROLLER_MODE_NORMAL;
|
||||
|
@ -31,7 +31,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_slider_constructor(lv_obj_t * obj);
|
||||
static void lv_slider_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_slider_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void position_knob(lv_obj_t * obj, lv_area_t * knob_area, lv_coord_t knob_size, bool hor);
|
||||
static void draw_knob(lv_obj_t * obj);
|
||||
@ -74,8 +74,9 @@ bool lv_slider_is_dragged(const lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_slider_constructor(lv_obj_t * obj)
|
||||
static void lv_slider_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_slider_t * slider = (lv_slider_t *)obj;
|
||||
|
||||
/*Initialize the allocated 'slider'*/
|
||||
|
@ -33,7 +33,7 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_switch_constructor(lv_obj_t * obj);
|
||||
static void lv_switch_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_switch_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_main(lv_obj_t * obj);
|
||||
|
||||
@ -68,8 +68,9 @@ lv_obj_t * lv_switch_create(lv_obj_t * parent)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_switch_constructor(lv_obj_t * obj)
|
||||
static void lv_switch_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
|
||||
|
@ -29,8 +29,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_table_constructor(lv_obj_t * obj);
|
||||
static void lv_table_destructor(lv_obj_t * obj);
|
||||
static void lv_table_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_table_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_table_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void draw_main(lv_obj_t * obj);
|
||||
static lv_coord_t get_row_height(lv_obj_t * obj, uint16_t row_id, const lv_font_t * font,
|
||||
@ -402,8 +402,9 @@ void lv_table_get_selected_cell(lv_obj_t * obj, uint16_t * row, uint16_t * col)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_table_constructor(lv_obj_t * obj)
|
||||
static void lv_table_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_table_t * table = (lv_table_t *)obj;
|
||||
@ -420,8 +421,9 @@ static void lv_table_constructor(lv_obj_t * obj)
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_table_destructor(lv_obj_t * obj)
|
||||
static void lv_table_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
lv_table_t * table = (lv_table_t *)obj;
|
||||
/*Free the cell texts*/
|
||||
uint16_t i;
|
||||
|
@ -42,8 +42,8 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_textarea_constructor(lv_obj_t * obj);
|
||||
static void lv_textarea_destructor(lv_obj_t * obj);
|
||||
static void lv_textarea_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_textarea_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
|
||||
static void lv_textarea_event(lv_obj_t * obj, lv_event_t e);
|
||||
static void cursor_blink_anim_cb(void * obj, int32_t show);
|
||||
static void pwd_char_hider_anim(void * obj, int32_t x);
|
||||
@ -795,40 +795,42 @@ void lv_textarea_cursor_up(lv_obj_t * obj)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void lv_textarea_constructor(lv_obj_t * obj)
|
||||
static void lv_textarea_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
LV_TRACE_OBJ_CREATE("begin");
|
||||
|
||||
lv_textarea_t * ta = (lv_textarea_t *)obj;
|
||||
|
||||
ta->pwd_mode = 0;
|
||||
ta->pwd_tmp = NULL;
|
||||
ta->pwd_show_time = LV_TEXTAREA_DEF_PWD_SHOW_TIME;
|
||||
ta->accepted_chars = NULL;
|
||||
ta->max_length = 0;
|
||||
ta->cursor.show = 1;
|
||||
ta->cursor.pos = 0;
|
||||
ta->cursor.click_pos = 1;
|
||||
ta->cursor.valid_x = 0;
|
||||
ta->one_line = 0;
|
||||
#if LV_LABEL_TEXT_SEL
|
||||
ta->text_sel_en = 0;
|
||||
#endif
|
||||
ta->label = NULL;
|
||||
ta->placeholder_txt = NULL;
|
||||
ta->pwd_mode = 0;
|
||||
ta->pwd_tmp = NULL;
|
||||
ta->pwd_show_time = LV_TEXTAREA_DEF_PWD_SHOW_TIME;
|
||||
ta->accepted_chars = NULL;
|
||||
ta->max_length = 0;
|
||||
ta->cursor.show = 1;
|
||||
ta->cursor.pos = 0;
|
||||
ta->cursor.click_pos = 1;
|
||||
ta->cursor.valid_x = 0;
|
||||
ta->one_line = 0;
|
||||
#if LV_LABEL_TEXT_SEL
|
||||
ta->text_sel_en = 0;
|
||||
#endif
|
||||
ta->label = NULL;
|
||||
ta->placeholder_txt = NULL;
|
||||
|
||||
ta->label = lv_label_create(obj);
|
||||
lv_label_set_long_mode(ta->label, LV_LABEL_LONG_WRAP);
|
||||
lv_label_set_text(ta->label, "");
|
||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
||||
ta->label = lv_label_create(obj);
|
||||
lv_label_set_long_mode(ta->label, LV_LABEL_LONG_WRAP);
|
||||
lv_label_set_text(ta->label, "");
|
||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
||||
|
||||
start_cursor_blink(obj);
|
||||
start_cursor_blink(obj);
|
||||
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
LV_TRACE_OBJ_CREATE("finished");
|
||||
}
|
||||
|
||||
static void lv_textarea_destructor(lv_obj_t * obj)
|
||||
static void lv_textarea_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(class_p);
|
||||
|
||||
lv_textarea_t * ta = (lv_textarea_t *)obj;
|
||||
if(ta->pwd_tmp != NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user