fix warnings and make tests working

This commit is contained in:
Gabor Kiss-Vamosi
2021-02-14 22:07:38 +01:00
parent bb08660cb6
commit 02c19eacab
66 changed files with 1102 additions and 1187 deletions

View File

@@ -3,6 +3,7 @@
static void event_handler(lv_obj_t * obj, lv_event_t event)
{
LV_UNUSED(obj);
if(event == LV_EVENT_CLICKED) {
LV_LOG_USER("Clicked\n");
}

View File

@@ -45,6 +45,7 @@ static void event_cb(lv_obj_t * obj, lv_event_t e)
static void add_data(lv_timer_t * timer)
{
LV_UNUSED(timer);
static uint32_t cnt = 0;
lv_chart_set_next_value(chart1, ser1, lv_rand(20, 90));

View File

@@ -3,6 +3,7 @@
static void event_cb(lv_obj_t * chart, lv_event_t e)
{
LV_UNUSED(chart);
if(e == LV_EVENT_DRAW_PART_BEGIN) {
lv_obj_draw_hook_dsc_t * hook_dsc = lv_event_get_param();
if(hook_dsc->part == LV_PART_MARKER && hook_dsc->sub_part_id == LV_CHART_AXIS_X) {

View File

@@ -40,6 +40,8 @@ void lv_example_img_2(void)
static void slider_event_cb(lv_obj_t * slider, lv_event_t event)
{
LV_UNUSED(slider);
if(event == LV_EVENT_VALUE_CHANGED) {
/* Recolor the image based on the sliders' values */
lv_color_t color = lv_color_make(lv_slider_get_value(red_slider), lv_slider_get_value(green_slider), lv_slider_get_value(blue_slider));

View File

@@ -6,6 +6,7 @@ static lv_obj_t * spinbox;
static void lv_spinbox_increment_event_cb(lv_obj_t * btn, lv_event_t e)
{
LV_UNUSED(btn);
if(e == LV_EVENT_SHORT_CLICKED || e == LV_EVENT_LONG_PRESSED_REPEAT) {
lv_spinbox_increment(spinbox);
}
@@ -13,6 +14,7 @@ static void lv_spinbox_increment_event_cb(lv_obj_t * btn, lv_event_t e)
static void lv_spinbox_decrement_event_cb(lv_obj_t * btn, lv_event_t e)
{
LV_UNUSED(btn);
if(e == LV_EVENT_SHORT_CLICKED || e == LV_EVENT_LONG_PRESSED_REPEAT) {
lv_spinbox_decrement(spinbox);
}

View File

@@ -163,7 +163,7 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h" */
#define LV_USE_ASSERT_OBJ 1 /*Check the object's type and existence (e.g. not deleted). (Slow) */
/*Add a custom handler when assert happens e.g. to restart the MCU*/
#define LV_ASSERT_HANDLER_INCLUDE
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
#define LV_ASSERT_HANDLER while(1); /*Halt by default*/
/*-------------

View File

@@ -153,6 +153,8 @@ void lv_obj_set_flex_grow(struct _lv_obj_t * obj, uint8_t grow)
static void flex_update(lv_obj_t * cont, lv_obj_t * item)
{
LV_UNUSED(item);
if(cont->spec_attr == NULL) return;
const lv_flex_t * f = (const lv_flex_t *)cont->spec_attr->layout_dsc;
@@ -187,7 +189,7 @@ static void flex_update(lv_obj_t * cont, lv_obj_t * item)
if(track_cross_place != LV_FLEX_PLACE_START) {
track_first_item = f->rev ? cont->spec_attr->child_cnt - 1 : 0;
track_t t;
while(track_first_item < cont->spec_attr->child_cnt && track_first_item >= 0) {
while(track_first_item < (int32_t)cont->spec_attr->child_cnt && track_first_item >= 0) {
/*Search the first item of the next row */
next_track_first_item = find_track_end(cont, track_first_item, max_main_size, item_gap, &t);
total_track_cross_size += t.track_cross_size + track_gap;
@@ -217,7 +219,7 @@ static void flex_update(lv_obj_t * cont, lv_obj_t * item)
*cross_pos += total_track_cross_size;
}
while(track_first_item < cont->spec_attr->child_cnt && track_first_item >= 0) {
while(track_first_item < (int32_t)cont->spec_attr->child_cnt && track_first_item >= 0) {
track_t t;
/*Search the first item of the next row */
next_track_first_item = find_track_end(cont, track_first_item, max_main_size, item_gap, &t);
@@ -234,7 +236,7 @@ static void flex_update(lv_obj_t * cont, lv_obj_t * item)
*cross_pos += t.track_cross_size + gap + track_gap;
}
}
LV_ASSERT_MALLOC_INTEGRITY();
LV_ASSERT_MEM_INTEGRITY();
}
/**
@@ -440,7 +442,7 @@ static lv_obj_t * get_next_item(lv_obj_t * cont, bool rev, int32_t * item_id)
else return NULL;
} else {
(*item_id)++;
if((*item_id) < cont->spec_attr->child_cnt) return cont->spec_attr->children[*item_id];
if((*item_id) < (int32_t)cont->spec_attr->child_cnt) return cont->spec_attr->children[*item_id];
else return NULL;
}
}

View File

@@ -53,7 +53,7 @@ static lv_coord_t grid_place(lv_coord_t cont_size, bool auto_size, uint8_t plac
/**********************
* GLOBAL VARIABLES
**********************/
const static lv_coord_t grid_12_template[12] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1),
static const lv_coord_t grid_12_template[12] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1),
LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1)};
const lv_grid_t grid_12 = {.base.update_cb = grid_update, .col_dsc = grid_12_template, .col_dsc_len = 12, .row_dsc = grid_12_template, .row_dsc_len = 12};
@@ -210,7 +210,7 @@ static void calc(struct _lv_obj_t * cont, _lv_grid_calc_t * calc_out)
lv_coord_t cont_h = lv_obj_get_height_fit(cont);
calc_out->grid_h = grid_place(cont_h, auto_h, g->row_place, row_gap, calc_out->row_num, calc_out->h, calc_out->y, false);
LV_ASSERT_MALLOC_INTEGRITY();
LV_ASSERT_MEM_INTEGRITY();
}
/**

View File

@@ -190,7 +190,7 @@ static bool inited;
static void style_init(void)
{
const static lv_style_prop_t trans_props[] = {
static const lv_style_prop_t trans_props[] = {
LV_STYLE_BG_OPA, LV_STYLE_BG_COLOR, LV_STYLE_CONTENT_OPA,
LV_STYLE_TRANSFORM_WIDTH, LV_STYLE_TRANSFORM_HEIGHT,
LV_STYLE_TRANSFORM_ZOOM, LV_STYLE_TRANSFORM_ANGLE,

View File

@@ -23,7 +23,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void my_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void my_constructor(lv_obj_t * obj, const lv_obj_t * copy);
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);
@@ -67,7 +67,7 @@ void lv_calendar_set_day_names(lv_obj_t * obj, const char * day_names[])
lv_calendar_t * calendar = (lv_calendar_t *) obj;
uint32_t i;
for(i = 0; i < 7; i++) {
calendar->map[i] = day_names_def[i];
calendar->map[i] = day_names[i];
}
}
@@ -207,8 +207,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, lv_obj_t * parent, const lv_obj_t * copy)
static void my_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
lv_calendar_t * calendar = (lv_calendar_t *) obj;
/*Initialize the allocated 'ext' */

View File

@@ -31,7 +31,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_colorwheel_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_colorwheel_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_colorwheel_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_colorwheel_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -208,8 +208,10 @@ bool lv_colorwheel_get_color_mode_fixed(lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_colorwheel_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_colorwheel_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
lv_colorwheel_t * colorwheel = (lv_colorwheel_t *) obj;
colorwheel->hsv.h = 0;
colorwheel->hsv.s = 100;

View File

@@ -67,70 +67,66 @@ lv_obj_t * lv_colorwheel_create(lv_obj_t * parent, bool knob_recolor);
*====================*/
/**
* Set the current hsv of a color picker.
* @param colorwheel pointer to color picker object
* @param hsv current selected hsv
* Set the current hsv of a color wheel.
* @param colorwheel pointer to color wheel object
* @param color current selected hsv
* @return true if changed, otherwise false
*/
bool lv_colorwheel_set_hsv(lv_obj_t * colorwheel, lv_color_hsv_t hsv);
bool lv_colorwheel_set_hsv(lv_obj_t * obj, lv_color_hsv_t hsv);
/**
* Set the current color of a color picker.
* @param colorwheel pointer to color picker object
* Set the current color of a color wheel.
* @param colorwheel pointer to color wheel object
* @param color current selected color
* @return true if changed, otherwise false
*/
bool lv_colorwheel_set_rgb(lv_obj_t * colorwheel, lv_color_t color);
bool lv_colorwheel_set_rgb(lv_obj_t * obj, lv_color_t color);
/**
* Set the current color mode.
* @param colorwheel pointer to color picker object
* @param colorwheel pointer to color wheel object
* @param mode color mode (hue/sat/val)
*/
void lv_colorwheel_set_mode(lv_obj_t * colorwheel, lv_colorwheel_mode_t mode);
void lv_colorwheel_set_mode(lv_obj_t * obj, lv_colorwheel_mode_t mode);
/**
* Set if the color mode is changed on long press on center
* @param colorwheel pointer to color picker object
* @param colorwheel pointer to color wheel object
* @param fixed color mode cannot be changed on long press
*/
void lv_colorwheel_set_fixed_mode(lv_obj_t * colorwheel, bool fixed);
void lv_colorwheel_set_mode_fixed(lv_obj_t * obj, bool fixed);
/*=====================
* Getter functions
*====================*/
/**
* Get the current selected hsv of a color wheel.
* @param colorwheel pointer to color wheel object
* @return current selected hsv
*/
lv_color_hsv_t lv_colorwheel_get_hsv(lv_obj_t * obj);
/**
* Get the current selected color of a color wheel.
* @param colorwheel pointer to color wheel object
* @return color current selected color
*/
lv_color_t lv_colorwheel_get_rgb(lv_obj_t * obj);
/**
* Get the current color mode.
* @param colorwheel pointer to color picker object
* @param colorwheel pointer to color wheel object
* @return color mode (hue/sat/val)
*/
lv_colorwheel_mode_t lv_colorwheel_get_mode(lv_obj_t * colorwheel);
/**
* Get the current hue of a color picker.
* @param colorwheel pointer to color picker object
* @return current selected hue
*/
lv_color_hsv_t lv_colorwheel_get_hsv(lv_obj_t * colorwheel);
/**
* Get the current selected color of a color picker.
* @param colorwheel pointer to color picker object
* @return current selected color
*/
lv_color_t lv_colorwheel_get_rgb(lv_obj_t * colorwheel);
lv_colorwheel_mode_t lv_colorwheel_get_color_mode(lv_obj_t * obj);
/**
* Get if the color mode is changed on long press on center
* @param colorwheel pointer to color picker object
* @param colorwheel pointer to color wheel object
* @return mode cannot be changed on long press
*/
bool lv_colorwheel_get_fix_mode(lv_obj_t * colorwheel);
/*=====================
* Other functions
*====================*/
bool lv_colorwheel_get_color_mode_fixed(lv_obj_t * obj);
/**********************
* MACROS

View File

@@ -23,7 +23,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_imgbtn_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_imgbtn_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_imgbtn_draw(lv_obj_t * imgbtn, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_imgbtn_signal(lv_obj_t * imgbtn, lv_signal_t sign, void * param);
static void refr_img(lv_obj_t * imgbtn);
@@ -150,8 +150,10 @@ 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, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_imgbtn_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
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));
@@ -186,7 +188,6 @@ static lv_draw_res_t lv_imgbtn_draw(lv_obj_t * obj, const lv_area_t * clip_area,
lv_obj_draw_base(&lv_imgbtn_class, obj, clip_area, mode);
/*Just draw an image*/
lv_imgbtn_t * imgbtn = (lv_imgbtn_t *) obj;
lv_imgbtn_state_t state = suggest_state(obj, get_state(obj));
/*Simply draw the middle src if no tiled*/

View File

@@ -23,7 +23,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void my_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_keyboard_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_keyboard_update_map(lv_obj_t * obj);
@@ -31,7 +31,7 @@ static void lv_keyboard_update_map(lv_obj_t * obj);
* STATIC VARIABLES
**********************/
const lv_obj_class_t lv_keyboard_class = {
.constructor_cb = my_constructor,
.constructor_cb = lv_keyboard_constructor,
.instance_size = sizeof(lv_keyboard_t),
.editable = 1,
.base_class = &lv_btnmatrix_class
@@ -255,7 +255,7 @@ void lv_keyboard_def_event_cb(lv_obj_t * obj, lv_event_t event)
if(res != LV_RES_OK) return;
if(keyboard->ta) {
lv_res_t res = lv_event_send(keyboard->ta, LV_EVENT_CANCEL, NULL);
res = lv_event_send(keyboard->ta, LV_EVENT_CANCEL, NULL);
if(res != LV_RES_OK) return;
}
lv_keyboard_set_textarea(obj, NULL); /*De-assign the text area to hide it cursor if needed*/
@@ -266,7 +266,7 @@ void lv_keyboard_def_event_cb(lv_obj_t * obj, lv_event_t event)
if(res != LV_RES_OK) return;
if(keyboard->ta) {
lv_res_t res = lv_event_send(keyboard->ta, LV_EVENT_READY, NULL);
res = lv_event_send(keyboard->ta, LV_EVENT_READY, NULL);
if(res != LV_RES_OK) return;
}
@@ -315,14 +315,17 @@ void lv_keyboard_def_event_cb(lv_obj_t * obj, lv_event_t event)
* STATIC FUNCTIONS
**********************/
static void my_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_keyboard_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICK_FOCUSABLE);
lv_keyboard_t * keyboard = (lv_keyboard_t *) obj;
keyboard->ta = NULL;
keyboard->mode = LV_KEYBOARD_MODE_TEXT_LOWER;
lv_obj_t * parent = lv_obj_get_parent(obj);
lv_obj_set_size(obj, lv_obj_get_width_fit(parent), lv_obj_get_height_fit(parent) / 2);
lv_obj_align(obj, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
lv_obj_add_event_cb(obj, lv_keyboard_def_event_cb, NULL);

View File

@@ -31,7 +31,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_led_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_led_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_led_draw(lv_obj_t * led, const lv_area_t * clip_area, lv_draw_mode_t mode);
/**********************
@@ -72,10 +72,13 @@ lv_obj_t * lv_led_create(lv_obj_t * parent)
* @param led pointer to a LED object
* @param color the color of the the LED
*/
void lv_led_set_color(lv_obj_t * led, lv_color_t color)
void lv_led_set_color(lv_obj_t * obj, lv_color_t color)
{
lv_led_t * led = (lv_led_t *) obj;
led->color = color;
lv_obj_invalidate(obj);
}
/**
* Set the brightness of a LED object
* @param led pointer to a LED object
@@ -83,7 +86,6 @@ void lv_led_set_color(lv_obj_t * led, lv_color_t color)
*/
void lv_led_set_brightness(lv_obj_t * obj, uint8_t bright)
{
/*Set the brightness*/
lv_led_t * led = (lv_led_t *) obj;
if(led->bright == bright) return;
@@ -146,9 +148,9 @@ uint8_t lv_led_get_brightness(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_led_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_led_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
lv_led_t * led = (lv_led_t *) obj;
led->color = lv_theme_get_color_primary();
led->bright = LV_LED_BRIGHT_MAX;

View File

@@ -22,8 +22,7 @@
* STATIC PROTOTYPES
**********************/
static void lv_spinbox_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_spinbox_destructor(lv_obj_t * obj);
static void lv_spinbox_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_res_t lv_spinbox_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
static void lv_spinbox_updatevalue(lv_obj_t * obj);
@@ -32,7 +31,6 @@ static void lv_spinbox_updatevalue(lv_obj_t * obj);
**********************/
const lv_obj_class_t lv_spinbox_class = {
.constructor_cb = lv_spinbox_constructor,
.destructor_cb = lv_spinbox_destructor,
.signal_cb = lv_spinbox_signal,
.instance_size = sizeof(lv_spinbox_t),
.editable = LV_OBJ_CLASS_EDITABLE_TRUE,
@@ -266,10 +264,11 @@ void lv_spinbox_decrement(lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_spinbox_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_spinbox_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("spinbox create started");
LV_UNUSED(copy);
LV_LOG_TRACE("spinbox create started");
lv_spinbox_t * spinbox = (lv_spinbox_t *) obj;
@@ -291,11 +290,6 @@ static void lv_spinbox_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_o
LV_LOG_INFO("spinbox created");
}
static void lv_spinbox_destructor(lv_obj_t * obj)
{
}
static lv_res_t lv_spinbox_signal(lv_obj_t * obj, lv_signal_t sign, void * param)
{
/* Include the ancient signal function */

View File

@@ -20,7 +20,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_tabview_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_tabview_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_tabview_destructor(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);
@@ -145,8 +145,9 @@ lv_obj_t * lv_tabview_get_tab_btns(lv_obj_t * tv)
* STATIC FUNCTIONS
**********************/
static void lv_tabview_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_tabview_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
lv_tabview_t * tabview = (lv_tabview_t *) obj;
tabview->tab_pos = tabpos_create;

View File

@@ -20,8 +20,8 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_tileview_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_tileview_tile_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_tileview_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_tileview_tile_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void tileview_event_cb(lv_obj_t * tv, lv_event_t e);
/**********************
@@ -107,8 +107,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, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_tileview_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
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);
@@ -117,8 +118,10 @@ static void lv_tileview_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_
}
static void lv_tileview_tile_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_tileview_tile_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
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));

View File

@@ -21,7 +21,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_win_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_win_constructor(lv_obj_t * obj, const lv_obj_t * copy);
/**********************
* STATIC VARIABLES
@@ -80,8 +80,10 @@ lv_obj_t * lv_win_get_content(lv_obj_t * win)
* STATIC FUNCTIONS
**********************/
static void lv_win_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_win_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
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_layout(obj, &lv_flex_stacked);

View File

@@ -401,7 +401,7 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h" */
# ifdef CONFIG_LV_ASSERT_HANDLER_INCLUDE
# define LV_ASSERT_HANDLER_INCLUDE CONFIG_LV_ASSERT_HANDLER_INCLUDE
# else
# define LV_ASSERT_HANDLER_INCLUDE
# define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
# endif
#endif
#ifndef LV_ASSERT_HANDLER

View File

@@ -68,7 +68,7 @@ static void draw_scrollbar(lv_obj_t * obj, const lv_area_t * clip_area);
static lv_res_t scrollbar_init_draw_dsc(lv_obj_t * obj, lv_draw_rect_dsc_t * dsc);
static bool obj_valid_child(const lv_obj_t * parent, const lv_obj_t * obj_to_find);
static void base_dir_refr_children(lv_obj_t * obj);
static void lv_obj_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_obj_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_obj_destructor(lv_obj_t * obj);
/**********************
@@ -585,8 +585,9 @@ bool lv_obj_is_valid(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_obj_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_obj_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
lv_obj_t * parent = obj->parent;
/*Create a screen*/
if(parent == NULL) {
LV_LOG_TRACE("Screen create started");

View File

@@ -46,7 +46,7 @@ lv_obj_t * lv_obj_create_from_class(const lv_obj_class_t * class_p, lv_obj_t * p
lv_obj_t * obj = lv_mem_alloc(s);
lv_memset_00(obj, s);
obj->class_p = class_p;
obj->parent = parent;
const lv_obj_class_t * class_start = class_p;
while(class_start && class_start->constructor_cb == NULL) class_start = class_start->base_class;
@@ -54,8 +54,6 @@ lv_obj_t * lv_obj_create_from_class(const lv_obj_class_t * class_p, lv_obj_t * p
// class_start->constructor_cb(obj, parent, copy);
lv_obj_construct(obj, parent, copy);
// lv_obj_set_pos(obj, 0, 0);
if(parent) {
/* Send a signal to the parent to notify it about the new child.
* Also triggers layout update*/
@@ -144,7 +142,7 @@ static void lv_obj_construct(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t *
/*Restore the original class*/
obj->class_p = original_class_p;
if(obj->class_p->constructor_cb) obj->class_p->constructor_cb(obj, parent, copy);
if(obj->class_p->constructor_cb) obj->class_p->constructor_cb(obj, copy);
}

View File

@@ -39,7 +39,7 @@ typedef enum {
*/
typedef struct _lv_obj_class_t{
const struct _lv_obj_class_t * base_class;
void (*constructor_cb)(struct _lv_obj_t * obj, struct _lv_obj_t * parent, const struct _lv_obj_t * copy);
void (*constructor_cb)(struct _lv_obj_t * obj, const struct _lv_obj_t * copy);
void (*destructor_cb)(struct _lv_obj_t * obj);
lv_signal_cb_t signal_cb; /**< Object type specific signal function*/
lv_draw_cb_t draw_cb; /**< Object type specific draw function*/

View File

@@ -42,7 +42,6 @@ typedef enum {
/**********************
* GLOBAL PROTOTYPES
**********************/
uint8_t lv_style_get_prop_group(lv_style_prop_t prop);
/**********************
* STATIC PROTOTYPES
@@ -491,7 +490,7 @@ static bool get_prop_core(const lv_obj_t * obj, uint8_t part, lv_style_prop_t pr
break;
}
uint8_t group = 1 << lv_style_get_prop_group(prop);
uint8_t group = 1 << _lv_style_get_prop_group(prop);
int32_t weight = -1;
lv_state_t state = obj->state;
lv_state_t state_inv = ~state;

View File

@@ -25,8 +25,6 @@
* TYPEDEFS
**********************/
void lv_obj_destruct(lv_obj_t * obj);
/**********************
* STATIC PROTOTYPES
**********************/

View File

@@ -276,14 +276,14 @@ void _lv_disp_refr_task(lv_timer_t * tmr)
static lv_obj_t * perf_label = NULL;
if(perf_label == NULL) {
perf_label = lv_label_create(lv_layer_sys(), NULL);
lv_label_set_align(perf_label, LV_TEXT_ALIGN_RIGHT);
lv_obj_set_style_local_bg_opa(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_obj_set_style_local_bg_color(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
lv_obj_set_style_local_text_color(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_obj_set_style_local_pad_top(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_pad_bottom(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_pad_left(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_pad_right(perf_label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_bg_opa(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_obj_set_style_bg_color(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
lv_obj_set_style_text_color(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_obj_set_style_pad_top(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_pad_bottom(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_pad_left(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_pad_right(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_text_align(perf_label, LV_PART_MAIN, LV_STATE_DEFAULT, LV_TEXT_ALIGN_RIGHT);
lv_label_set_text(perf_label, "?");
lv_obj_align(perf_label, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
}
@@ -311,7 +311,7 @@ void _lv_disp_refr_task(lv_timer_t * tmr)
fps_sum_all += fps;
fps_sum_cnt ++;
uint32_t cpu = 100 - lv_task_get_idle();
uint32_t cpu = 100 - lv_timer_get_idle();
lv_label_set_text_fmt(perf_label, "%d FPS\n%d%% CPU", fps, cpu);
lv_obj_align(perf_label, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
}

View File

@@ -209,6 +209,13 @@ void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, uin
}
#else
LV_LOG_WARN("Can't draw arc with LV_DRAW_COMPLEX == 0");
LV_UNUSED(center_x);
LV_UNUSED(center_y);
LV_UNUSED(radius);
LV_UNUSED(start_angle);
LV_UNUSED(end_angle);
LV_UNUSED(clip_area);
LV_UNUSED(dsc);
#endif /*LV_DRAW_COMPLEX*/
}

View File

@@ -675,7 +675,7 @@ LV_ATTRIBUTE_FAST_MEM static void map_normal(const lv_area_t * disp_area, lv_col
const lv_color_t * map_buf_first = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1));
map_buf_first += (draw_area->x1 - (map_area->x1 - disp_area->x1));
#if LV_COLOR_SCREEN_TRANSP || LV_USE_GPU
#if LV_COLOR_SCREEN_TRANSP
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
#endif

View File

@@ -38,10 +38,10 @@ LV_ATTRIBUTE_FAST_MEM static void lv_draw_letter(const lv_point_t * pos_p, const
LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g,
const lv_area_t * clip_area,
const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode);
#if LV_DRAW_COMPLEX
static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area,
const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode);
#endif
static uint8_t hex_char_to_num(char hex);
/**********************
@@ -381,7 +381,7 @@ LV_ATTRIBUTE_FAST_MEM void lv_draw_label(const lv_area_t * coords, const lv_area
if(pos.y > mask->y2) return;
}
LV_ASSERT_MALLOC_INTEGRITY();
LV_ASSERT_MEM_INTEGRITY();
}
/**********************
@@ -441,8 +441,15 @@ LV_ATTRIBUTE_FAST_MEM static void lv_draw_letter(const lv_point_t * pos_p, const
return;
}
if(font_p->subpx) draw_letter_subpx(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode);
else draw_letter_normal(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode);
if(font_p->subpx) {
#if LV_DRAW_COMPLEX
draw_letter_subpx(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode);
#else
LV_LOG_WARN("Can't draw sub-pixel rendered letter because LV_USE_FONT_SUBPX == 0 in lv_conf.h");
#endif
} else {
draw_letter_normal(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode);
}
}
LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g,
@@ -526,15 +533,17 @@ LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_
fill_area.x2 = col_end + pos_x - 1;
fill_area.y1 = row_start + pos_y;
fill_area.y2 = fill_area.y1;
#if LV_DRAW_COMPLEX
uint8_t other_mask_cnt = lv_draw_mask_get_cnt();
#endif
uint32_t col_bit_max = 8 - bpp;
uint32_t col_bit_row_ofs = (box_w + col_start - col_end) * bpp;
for(row = row_start ; row < row_end; row++) {
#if LV_DRAW_COMPLEX
int32_t mask_p_start = mask_p;
#endif
bitmask = bitmask_init >> col_bit;
for(col = col_start; col < col_end; col++) {
/*Load the pixel's opacity into the mask*/
@@ -602,10 +611,10 @@ LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_
lv_mem_buf_release(mask_buf);
}
#if LV_DRAW_COMPLEX
static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area,
const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode)
{
#if LV_DRAW_COMPLEX
const uint8_t * bpp_opa_table;
uint32_t bitmask_init;
uint32_t bitmask;
@@ -804,10 +813,8 @@ static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_
lv_mem_buf_release(mask_buf);
lv_mem_buf_release(color_buf);
#else
LV_LOG_WARN("Can't draw sub-pixel rendered letter because LV_USE_FONT_SUBPX == 0 in lv_conf.h");
#endif
}
#endif
/**
* Convert a hexadecimal characters to a number (0..15)

View File

@@ -124,11 +124,6 @@ LV_ATTRIBUTE_FAST_MEM static void draw_line_hor(const lv_point_t * point1, const
{
lv_opa_t opa = dsc->opa;
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
const lv_area_t * disp_area = &vdb->area;
int32_t w = dsc->width - 1;
int32_t w_half0 = w >> 1;
int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/
@@ -154,6 +149,9 @@ LV_ATTRIBUTE_FAST_MEM static void draw_line_hor(const lv_point_t * point1, const
#if LV_DRAW_COMPLEX
/*If there other mask apply it*/
else {
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
const lv_area_t * disp_area = &vdb->area;
/* Get clipped fill area which is the real draw area.
* It is always the same or inside `fill_area` */
bool is_common;
@@ -226,11 +224,6 @@ LV_ATTRIBUTE_FAST_MEM static void draw_line_ver(const lv_point_t * point1, const
{
lv_opa_t opa = dsc->opa;
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
const lv_area_t * disp_area = &vdb->area;
int32_t w = dsc->width - 1;
int32_t w_half0 = w >> 1;
int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/
@@ -257,6 +250,9 @@ LV_ATTRIBUTE_FAST_MEM static void draw_line_ver(const lv_point_t * point1, const
#if LV_DRAW_COMPLEX
/*If there other mask apply it*/
else {
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
const lv_area_t * disp_area = &vdb->area;
/* Get clipped fill area which is the real draw area.
* It is always the same or inside `fill_area` */
bool is_common;
@@ -484,6 +480,10 @@ LV_ATTRIBUTE_FAST_MEM static void draw_line_skew(const lv_point_t * point1, cons
lv_draw_mask_remove_id(mask_top_id);
lv_draw_mask_remove_id(mask_bottom_id);
#else
LV_UNUSED(point1);
LV_UNUSED(point2);
LV_UNUSED(clip);
LV_UNUSED(dsc);
LV_LOG_WARN("Can't draw skewed line with LV_DRAW_COMPLEX == 0");
#endif /*LV_DRAW_COMPLEX*/
}

View File

@@ -56,7 +56,7 @@ LV_ATTRIBUTE_FAST_MEM static inline lv_color_t grad_get(const lv_draw_rect_dsc_t
/**********************
* STATIC VARIABLES
**********************/
#if LV_SHADOW_CACHE_SIZE
#if defined(LV_SHADOW_CACHE_SIZE) && LV_SHADOW_CACHE_SIZE > 0
static uint8_t sh_cache[LV_SHADOW_CACHE_SIZE * LV_SHADOW_CACHE_SIZE];
static int32_t sh_cache_size = -1;
static int32_t sh_cache_r = -1;
@@ -112,7 +112,7 @@ void lv_draw_rect(const lv_area_t * coords, const lv_area_t * clip, const lv_dra
draw_outline(coords, clip, dsc);
LV_ASSERT_MALLOC_INTEGRITY();
LV_ASSERT_MEM_INTEGRITY();
}
/**********************
@@ -1186,7 +1186,7 @@ static void draw_content(const lv_area_t * coords, const lv_area_t * clip, const
#if LV_USE_ARABIC_PERSIAN_CHARS
size_t len = _lv_txt_ap_calc_bytes_cnt(dsc->content_text) + 1;
const char * txt = txt = lv_mem_buf_get(len);
char * txt = txt = lv_mem_buf_get(len);
_lv_txt_ap_proc(dsc->content_text, txt);
#else
const char * txt = dsc->content_text;
@@ -1414,5 +1414,15 @@ static void draw_full_border(const lv_area_t * area_inner, const lv_area_t * are
lv_draw_mask_remove_id(mask_rin_id);
lv_draw_mask_remove_id(mask_rout_id);
lv_mem_buf_release(mask_buf);
#else /*LV_DRAW_COMPLEX*/
LV_UNUSED(area_inner);
LV_UNUSED(area_outer);
LV_UNUSED(clip);
LV_UNUSED(radius);
LV_UNUSED(radius_is_in);
LV_UNUSED(color);
LV_UNUSED(opa);
LV_UNUSED(blend_mode);
#endif /*LV_DRAW_COMPLEX*/
}

View File

@@ -45,6 +45,9 @@ void lv_draw_triangle(const lv_point_t points[], const lv_area_t * clip_area, co
#if LV_DRAW_COMPLEX
lv_draw_polygon(points, 3, clip_area, draw_dsc);
#else
LV_UNUSED(points);
LV_UNUSED(clip_area);
LV_UNUSED(draw_dsc);
LV_LOG_WARN("Can't draw triangle with LV_DRAW_COMPLEX == 0");
#endif /*LV_DRAW_COMPLEX*/
}
@@ -199,6 +202,10 @@ void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_are
lv_mem_buf_release(mp);
lv_mem_buf_release(p);
#else
LV_UNUSED(points);
LV_UNUSED(point_cnt);
LV_UNUSED(clip_area);
LV_UNUSED(draw_dsc);
LV_LOG_WARN("Can't draw polygon with LV_DRAW_COMPLEX == 0");
#endif /*LV_DRAW_COMPLEX*/
}

View File

@@ -195,6 +195,7 @@ void lv_img_cache_set_size(uint16_t new_entry_cnt)
*/
void lv_img_cache_invalidate_src(const void * src)
{
LV_UNUSED(src);
#if LV_IMG_CACHE_DEF_SIZE
lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array);

View File

@@ -15,6 +15,7 @@ extern "C" {
*********************/
#include "../lv_conf_internal.h"
#include <stdbool.h>
#include LV_ASSERT_HANDLER_INCLUDE
/*********************
* DEFINES
@@ -68,9 +69,9 @@ extern "C" {
#endif
#if LV_USE_ASSERT_MEM_INTEGRITY
# define LV_ASSERT_MALLOC_INTEGRITY() LV_ASSERT_MSG(lv_mem_test() == LV_RES_OK, "Memory integrity error");
# define LV_ASSERT_MEM_INTEGRITY() LV_ASSERT_MSG(lv_mem_test() == LV_RES_OK, "Memory integrity error");
#else
# define LV_ASSERT_MALLOC_INTEGRIT()
# define LV_ASSERT_MEM_INTEGRITY()
#endif
#ifdef __cplusplus

View File

@@ -14,6 +14,7 @@ CSRCS += lv_utils.c
CSRCS += lv_async.c
CSRCS += lv_printf.c
CSRCS += lv_bidi.c
CSRCS += lv_style.c
DEPPATH += --dep-path $(LVGL_DIR)/$(LVGL_DIR_NAME)/src/lv_misc
VPATH += :$(LVGL_DIR)/$(LVGL_DIR_NAME)/src/lv_misc

View File

@@ -95,12 +95,12 @@ bool lv_style_remove_prop(lv_style_t * style, lv_style_prop_t prop)
size_t size = style->prop_cnt * (sizeof(lv_style_value_t) + sizeof(uint16_t));
uint8_t * new_values_and_props = lv_mem_alloc(size);
uint8_t * tmp = new_values_and_props + style->prop_cnt * sizeof(lv_style_value_t);
tmp = new_values_and_props + style->prop_cnt * sizeof(lv_style_value_t);
uint16_t * new_props = (uint16_t *) tmp;
lv_style_value_t * new_values = (lv_style_value_t *)new_values_and_props;
uint32_t j;
for(j = 0; j < style->prop_cnt + 1; j++) { /* +1: because prop_cnt already reduced but all the old props. needs to be checked. */
for(j = 0; j < (uint32_t)style->prop_cnt + 1; j++) { /* +1: because prop_cnt already reduced but all the old props. needs to be checked. */
if(props[j] != prop) {
*new_values = values[j];
*new_props = props[j];
@@ -119,24 +119,11 @@ bool lv_style_remove_prop(lv_style_t * style, lv_style_prop_t prop)
return false;
}
/**
* Tell the group of a property. If the a property from a group is set in a style the (1 << group) bit of style->has_group is set.
* It allows early skipping the style if the property is not exists in the style at all.
* @param prop a style property
* @return the group [0..7] 7 means all the custom properties with index > 112
*/
uint8_t lv_style_get_prop_group(lv_style_prop_t prop)
{
uint16_t group = (prop & 0x1FF) >> 4;
if(group > 7) group = 7; /*The MSB marks all the custom properties*/
return (uint8_t)group;
}
void lv_style_set_prop(lv_style_t * style, lv_style_prop_t prop, lv_style_value_t value)
{
LV_ASSERT_STYLE(style);
uint8_t group = lv_style_get_prop_group(prop);
uint8_t group = _lv_style_get_prop_group(prop);
style->has_group |= 1 << group;
if(style->allocated) {
@@ -280,6 +267,12 @@ bool lv_style_is_empty(const lv_style_t * style)
return style->prop_cnt == 0 ? true : false;
}
uint8_t _lv_style_get_prop_group(lv_style_prop_t prop)
{
uint16_t group = (prop & 0x1FF) >> 4;
if(group > 7) group = 7; /*The MSB marks all the custom properties*/
return (uint8_t)group;
}
/**********************
* STATIC FUNCTIONS
**********************/

View File

@@ -360,6 +360,14 @@ lv_style_value_t lv_style_prop_get_default(lv_style_prop_t prop);
*/
bool lv_style_is_empty(const lv_style_t * style);
/**
* Tell the group of a property. If the a property from a group is set in a style the (1 << group) bit of style->has_group is set.
* It allows early skipping the style if the property is not exists in the style at all.
* @param prop a style property
* @return the group [0..7] 7 means all the custom properties with index > 112
*/
uint8_t _lv_style_get_prop_group(lv_style_prop_t prop);
static inline void lv_style_set_radius(lv_style_t * style, lv_coord_t value) {
lv_style_value_t v = {.num = value}; lv_style_set_prop(style, LV_STYLE_RADIUS, v); }

View File

@@ -307,7 +307,7 @@ static bool lv_timer_exec(lv_timer_t * timer)
timer_deleted = false;
timer_created = false;
if(timer->timer_cb) timer->timer_cb(timer);
LV_ASSERT_MALLOC_INTEGRITY();
LV_ASSERT_MEM_INTEGRITY();
/*Delete if it was a one shot lv_timer*/
if(timer_deleted == false) { /*The timer might be deleted by itself as well*/

View File

@@ -10,6 +10,7 @@
#include "lv_bidi.h"
#include "lv_txt.h"
#include "lv_txt_ap.h"
#include "lv_mem.h"
#include "../lv_draw/lv_draw.h"
/*********************

View File

@@ -30,7 +30,7 @@
* STATIC PROTOTYPES
**********************/
static void lv_arc_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_arc_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_arc_draw(lv_obj_t * arc, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_arc_signal(lv_obj_t * arc, lv_signal_t sign, void * param);
static void inv_arc_area(lv_obj_t * arc, uint16_t start_angle, uint16_t end_angle, uint8_t part);
@@ -480,7 +480,7 @@ lv_arc_type_t lv_arc_get_type(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_arc_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_arc_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("lv_arc create started");

View File

@@ -45,7 +45,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_bar_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_bar_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_bar_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_bar_draw(lv_obj_t * bar, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_bar_signal(lv_obj_t * bar, lv_signal_t sign, void * param);
@@ -199,7 +199,7 @@ lv_bar_type_t lv_bar_get_type(lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_bar_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_bar_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("lv_bar create started");

View File

@@ -22,7 +22,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_btn_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_btn_constructor(lv_obj_t * obj, const lv_obj_t * copy);
/**********************
* STATIC VARIABLES
@@ -50,12 +50,14 @@ lv_obj_t * lv_btn_create(lv_obj_t * parent, const lv_obj_t * copy)
* STATIC FUNCTIONS
**********************/
static void lv_btn_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_btn_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("lv_btn create started");
lv_obj_set_size(obj, LV_DPI_DEF, LV_DPI_DEF / 3);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
if(copy == NULL) {
lv_obj_set_size(obj, LV_DPI_DEF, LV_DPI_DEF / 3);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
}
LV_LOG_INFO("btn created");
}

View File

@@ -32,7 +32,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_btnmatrix_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_btnmatrix_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_btnmatrix_destructor(lv_obj_t * obj);
static lv_res_t lv_btnmatrix_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
static lv_draw_res_t lv_btnmatrix_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
@@ -372,7 +372,7 @@ bool lv_btnmatrix_get_one_checked(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_btnmatrix_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_btnmatrix_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
lv_btnmatrix_t * btnm = (lv_btnmatrix_t *)obj;
btnm->btn_cnt = 0;

View File

@@ -27,8 +27,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_canvas_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_canvas_destructor(lv_obj_t * obj);
static void lv_canvas_constructor(lv_obj_t * obj, const lv_obj_t * copy);
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,
@@ -54,7 +53,6 @@ static void set_px_alpha_generic(lv_img_dsc_t * d, lv_coord_t x, lv_coord_t y, l
**********************/
const lv_obj_class_t lv_canvas_class = {
.constructor_cb = lv_canvas_constructor,
.destructor_cb = lv_canvas_destructor,
.instance_size = sizeof(lv_canvas_t),
.base_class = &lv_img_class
};
@@ -878,6 +876,13 @@ void lv_canvas_draw_arc(lv_obj_t * canvas, lv_coord_t x, lv_coord_t y, lv_coord_
lv_obj_invalidate(canvas);
#else
LV_UNUSED(canvas);
LV_UNUSED(x);
LV_UNUSED(y);
LV_UNUSED(r);
LV_UNUSED(start_angle);
LV_UNUSED(end_angle);
LV_UNUSED(draw_dsc);
LV_LOG_WARN("Can't draw arc with LV_DRAW_COMPLEX == 0");
#endif
}
@@ -886,8 +891,9 @@ 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, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_canvas_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
LV_LOG_TRACE("canvas create started");
lv_canvas_t * canvas = (lv_canvas_t *) obj;
@@ -905,11 +911,6 @@ static void lv_canvas_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_ob
LV_LOG_INFO("canvas created");
}
static void lv_canvas_destructor(lv_obj_t * obj)
{
}
static void set_set_px_cb(lv_disp_drv_t * disp_drv, lv_img_cf_t cf)
{
switch(cf) {

View File

@@ -36,7 +36,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_chart_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_chart_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_chart_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_chart_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_chart_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -258,6 +258,7 @@ uint16_t lv_chart_get_point_count(const lv_obj_t * obj)
uint16_t lv_chart_get_x_start_point(const lv_obj_t * obj, lv_chart_series_t * ser)
{
LV_UNUSED(obj);
LV_ASSERT_NULL(ser);
return(ser->last_point);
@@ -474,6 +475,7 @@ void lv_chart_set_ext_array(lv_obj_t * obj, lv_chart_series_t * ser, lv_coord_t
lv_coord_t * lv_chart_get_array(const lv_obj_t * obj, lv_chart_series_t * ser)
{
LV_UNUSED(obj);
LV_ASSERT_OBJ(obj, MY_CLASS);
LV_ASSERT_NULL(ser);
return ser->points;
@@ -489,7 +491,7 @@ int32_t lv_chart_get_pressed_point(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_chart_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_chart_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("chart create started");
@@ -505,7 +507,7 @@ static void lv_chart_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj
chart->hdiv_cnt = LV_CHART_HDIV_DEF;
chart->vdiv_cnt = LV_CHART_VDIV_DEF;
chart->point_cnt = LV_CHART_POINT_CNT_DEF;
chart->pressed_point_id = -1;
chart->pressed_point_id = LV_CHART_POINT_ID_NONE;
chart->type = LV_CHART_TYPE_LINE;
chart->update_mode = LV_CHART_UPDATE_MODE_SHIFT;
chart->zoom_x = LV_IMG_ZOOM_NONE;
@@ -590,8 +592,7 @@ static lv_res_t lv_chart_signal(lv_obj_t * obj, lv_signal_t sign, void * param)
lv_event_send(obj, LV_EVENT_VALUE_CHANGED, NULL);
}
} else if(sign == LV_SIGNAL_RELEASED) {
// invalidate_point(obj, chart->pressed_point_id);
chart->pressed_point_id = -1;
chart->pressed_point_id = LV_CHART_POINT_ID_NONE;
} else if(sign == LV_SIGNAL_REFR_EXT_DRAW_SIZE) {
lv_coord_t * s = param;
*s = LV_MAX4(*s, chart->tick[LV_CHART_AXIS_X].draw_size,
@@ -609,7 +610,7 @@ static void draw_div_lines(lv_obj_t * obj, const lv_area_t * clip_area)
bool mask_ret = _lv_area_intersect(&series_mask, &obj->coords, clip_area);
if(mask_ret == false) return;
uint32_t i;
uint16_t i;
lv_point_t p1;
lv_point_t p2;
lv_coord_t pad_left = lv_obj_get_style_pad_left(obj, LV_PART_MAIN);

View File

@@ -28,6 +28,9 @@ extern "C" {
#define LV_CHART_POINT_DEF (LV_COORD_MIN)
LV_EXPORT_CONST_INT(LV_CHART_POINT_DEF);
#define LV_CHART_POINT_ID_NONE 0xFFFF
LV_EXPORT_CONST_INT(LV_CHART_POINT_ID_NONE);
/**********************
* TYPEDEFS
**********************/
@@ -86,14 +89,13 @@ typedef struct {
typedef struct {
lv_obj_t obj;
lv_ll_t series_ll; /**< Linked list for the data line pointers (stores lv_chart_series_t)*/
lv_chart_tick_dsc_t tick[_LV_CHART_AXIS_LAST];
int32_t pressed_point_id;
uint8_t hdiv_cnt; /**< Number of horizontal division lines*/
uint8_t vdiv_cnt; /**< Number of vertical division lines*/
uint16_t point_cnt; /**< Point number in a data line*/
lv_coord_t ymin[2];
lv_coord_t ymax[2];
uint16_t pressed_point_id;
uint16_t hdiv_cnt; /**< Number of horizontal division lines*/
uint16_t vdiv_cnt; /**< Number of vertical division lines*/
uint16_t point_cnt; /**< Point number in a data line*/
uint16_t zoom_x;
uint16_t zoom_y;
lv_chart_type_t type :2; /**< Line or column chart */

View File

@@ -10,6 +10,7 @@
#if LV_USE_CHECKBOX != 0
#include "../lv_misc/lv_assert.h"
#include "../lv_misc/lv_txt_ap.h"
#include "../lv_core/lv_group.h"
#include "../lv_draw/lv_draw.h"
@@ -25,7 +26,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_checkbox_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_checkbox_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_checkbox_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_checkbox_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_checkbox_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -63,7 +64,7 @@ void lv_checkbox_set_text(lv_obj_t * obj, const char * txt)
{
lv_checkbox_t * cb = (lv_checkbox_t *) obj;
#if LV_USE_ARABIC_PERSIAN_CHARS
size_t len = _lv_txt_ap_proc(txt);
size_t len = _lv_txt_ap_calc_bytes_cnt(txt);
#else
size_t len = strlen(txt);
#endif
@@ -107,7 +108,7 @@ const char * lv_checkbox_get_text(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_checkbox_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_checkbox_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("lv_checkbox create started");

View File

@@ -36,12 +36,12 @@
* STATIC PROTOTYPES
**********************/
static lv_obj_t * lv_dropdown_list_create(lv_obj_t * parent, const lv_obj_t * copy);
static void lv_dropdown_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_dropdown_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_dropdown_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_dropdown_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_dropdown_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
static void lv_dropdown_list_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_dropdown_list_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_dropdown_list_destructor(lv_obj_t * list_obj);
static lv_draw_res_t lv_dropdown_list_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_dropdown_list_signal(lv_obj_t * list, lv_signal_t sign, void * param);
@@ -520,7 +520,7 @@ static lv_obj_t * lv_dropdown_list_create(lv_obj_t * parent, const lv_obj_t * co
return lv_obj_create_from_class(&lv_dropdown_list_class, parent, copy);
}
static void lv_dropdown_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_dropdown_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("dropdown create started");
@@ -761,8 +761,9 @@ static lv_draw_res_t lv_dropdown_list_draw(lv_obj_t * list_obj, const lv_area_t
return LV_DRAW_RES_OK;
}
static void lv_dropdown_list_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_dropdown_list_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_UNUSED(copy);
lv_label_create(obj, NULL);
}

View File

@@ -28,7 +28,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_img_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_img_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_img_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_img_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_img_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -360,7 +360,7 @@ bool lv_img_get_antialias(lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_img_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_img_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("lv_bar create started");
@@ -386,7 +386,7 @@ static void lv_img_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t
/* Enable auto size for non screens
* because image screens are wallpapers
* and must be screen sized*/
if(parent) lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
if(obj->parent) lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
}
else {
lv_img_t * copy_img = (lv_img_t *) copy;

View File

@@ -34,7 +34,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_label_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_label_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_label_destructor(lv_obj_t * obj);
static lv_res_t lv_label_signal(lv_obj_t * label, lv_signal_t sign, void * param);
static lv_draw_res_t lv_label_draw(lv_obj_t * label, const lv_area_t * clip_area, lv_draw_mode_t mode);
@@ -695,7 +695,7 @@ 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, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_label_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("label create started");
@@ -722,9 +722,11 @@ static void lv_label_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj
label->dot.tmp_ptr = NULL;
label->dot_tmp_alloc = 0;
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
lv_label_set_long_mode(obj, LV_LABEL_LONG_EXPAND);
lv_label_set_text(obj, "Text");
if(copy == NULL) {
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
lv_label_set_long_mode(obj, LV_LABEL_LONG_EXPAND);
lv_label_set_text(obj, "Text");
}
LV_LOG_INFO("label created");
}

View File

@@ -28,8 +28,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_line_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_line_destructor(lv_obj_t * obj);
static void lv_line_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_line_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_line_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -38,7 +37,6 @@ static lv_res_t lv_line_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
**********************/
const lv_obj_class_t lv_line_class = {
.constructor_cb = lv_line_constructor,
.destructor_cb = lv_line_destructor,
.signal_cb = lv_line_signal,
.draw_cb = lv_line_draw,
.instance_size = sizeof(lv_line_t),
@@ -104,7 +102,7 @@ bool lv_line_get_y_invert(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_line_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_line_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("line create started");
@@ -131,11 +129,6 @@ static void lv_line_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_
LV_LOG_INFO("line created");
}
static void lv_line_destructor(lv_obj_t * obj)
{
}
static lv_draw_res_t lv_line_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode)
{
/*A line never covers an area*/

View File

@@ -27,7 +27,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_meter_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_meter_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_meter_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_meter_draw(lv_obj_t * lmeter, const lv_area_t * clip_area, lv_draw_mode_t mode);
static void draw_arcs(lv_obj_t * obj, const lv_area_t * clip_area, const lv_area_t * scale_area);
@@ -207,7 +207,7 @@ 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, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_meter_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("line meter create started");

View File

@@ -73,7 +73,7 @@ typedef struct {
uint16_t tick_width;
lv_color_t tick_major_color;
int16_t tick_major_nth;
uint16_t tick_major_nth;
uint16_t tick_major_length;
uint16_t tick_major_width;

View File

@@ -28,7 +28,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_roller_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_roller_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_roller_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_draw_res_t lv_roller_label_draw(lv_obj_t * label_obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_roller_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -282,7 +282,7 @@ uint16_t lv_roller_get_option_cnt(const lv_obj_t * obj)
**********************/
static void lv_roller_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_roller_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
lv_roller_t * roller = (lv_roller_t*)obj;

View File

@@ -1,4 +1,3 @@
/**
* @file lv_slider.c
*
@@ -32,8 +31,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_slider_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_slider_destructor(lv_obj_t * obj);
static void lv_slider_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_draw_res_t lv_slider_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_slider_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
static void position_knob(lv_obj_t * obj, lv_area_t * knob_area, lv_coord_t knob_size, bool hor);
@@ -44,7 +42,6 @@ static void draw_knob(lv_obj_t * obj, const lv_area_t * clip_area);
**********************/
const lv_obj_class_t lv_slider_class = {
.constructor_cb = lv_slider_constructor,
.destructor_cb = lv_slider_destructor,
.signal_cb = lv_slider_signal,
.draw_cb = lv_slider_draw,
.editable = LV_OBJ_CLASS_EDITABLE_TRUE,
@@ -78,7 +75,7 @@ bool lv_slider_is_dragged(const lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_slider_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_slider_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
lv_slider_t * slider = (lv_slider_t *)obj;
@@ -101,15 +98,6 @@ static void lv_slider_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_ob
}
static void lv_slider_destructor(lv_obj_t * obj)
{
// lv_slider_t * slider = obj;
//
// _lv_obj_reset_style_list_no_refr(obj, LV_PART_KNOB);
//
// slider->class_p->base_p->destructor(obj);
}
static lv_draw_res_t lv_slider_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode)
{
/*Return false if the object is not covers the mask_p area*/

View File

@@ -33,8 +33,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_switch_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_switch_destructor(lv_obj_t * obj);
static void lv_switch_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static lv_res_t lv_switch_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
static lv_draw_res_t lv_switch_draw(lv_obj_t * sw, const lv_area_t * clip_area, lv_draw_mode_t mode);
@@ -43,7 +42,6 @@ static lv_draw_res_t lv_switch_draw(lv_obj_t * sw, const lv_area_t * clip_area,
**********************/
const lv_obj_class_t lv_switch_class = {
.constructor_cb = lv_switch_constructor,
.destructor_cb = lv_switch_destructor,
.signal_cb = lv_switch_signal,
.draw_cb = lv_switch_draw,
.instance_size = sizeof(lv_switch_t),
@@ -74,7 +72,7 @@ lv_obj_t * lv_switch_create(lv_obj_t * parent, const lv_obj_t * copy)
* STATIC FUNCTIONS
**********************/
static void lv_switch_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_switch_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("switch create started");
@@ -87,16 +85,6 @@ static void lv_switch_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_ob
LV_LOG_INFO("switch created");
}
static void lv_switch_destructor(lv_obj_t * obj)
{
// lv_bar_t * bar = obj;
//
// _lv_obj_reset_style_list_no_refr(obj, LV_BAR_PART_INDIC);
// _lv_obj_reset_style_list_no_refr(sw, LV_PART_KNOB);
//
// bar->class_p->base_p->destructor(obj);
}
static lv_draw_res_t lv_switch_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode)
{
/*Return false if the object is not covers the mask_p area*/

View File

@@ -29,7 +29,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_table_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_table_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_table_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_table_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_table_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -560,7 +560,7 @@ lv_res_t lv_table_get_pressed_cell(lv_obj_t * obj, uint16_t * row, uint16_t * co
* STATIC FUNCTIONS
**********************/
static void lv_table_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_table_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("lv_table create started");
@@ -597,21 +597,18 @@ static void lv_table_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj
static void lv_table_destructor(lv_obj_t * obj)
{
// /*Free the cell texts*/
// uint16_t i;
// for(i = 0; i < table->col_cnt * table->row_cnt; i++) {
// if(table->cell_data[i]) {
// lv_mem_free(table->cell_data[i]);
// table->cell_data[i] = NULL;
// }
// }
//
// if(table->cell_data) lv_mem_free(table->cell_data);
// if(table->row_h) lv_mem_free(table->row_h);
//
// for(i = 0; i < LV_TABLE_CELL_STYLE_CNT; i++) {
// _lv_obj_reset_style_list_no_refr(obj, LV_TABLE_PART_CELL1 + i);
// }
lv_table_t * table = (lv_table_t *) obj;
/*Free the cell texts*/
uint16_t i;
for(i = 0; i < table->col_cnt * table->row_cnt; i++) {
if(table->cell_data[i]) {
lv_mem_free(table->cell_data[i]);
table->cell_data[i] = NULL;
}
}
if(table->cell_data) lv_mem_free(table->cell_data);
if(table->row_h) lv_mem_free(table->row_h);
}
static lv_draw_res_t lv_table_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode)

View File

@@ -45,7 +45,7 @@
/**********************
* STATIC PROTOTYPES
**********************/
static void lv_textarea_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy);
static void lv_textarea_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_textarea_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_textarea_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_textarea_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
@@ -944,7 +944,7 @@ void lv_textarea_cursor_up(lv_obj_t * obj)
* STATIC FUNCTIONS
**********************/
static void lv_textarea_constructor(lv_obj_t * obj, lv_obj_t * parent, const lv_obj_t * copy)
static void lv_textarea_constructor(lv_obj_t * obj, const lv_obj_t * copy)
{
LV_LOG_TRACE("text area create started");

View File

@@ -51,11 +51,10 @@ def build(name, defines):
minimal_monochrome = {
"LV_COLOR_DEPTH":1,
"LV_MEM_SIZE":4 * 1024,
"LV_MEM_SIZE":64 * 1024,
"LV_DPI_DEF":40,
"LV_DRAW_COMPLEX":0,
"LV_USE_LOG":0,
"LV_USE_LOG":0,
@@ -83,246 +82,148 @@ minimal_monochrome = {
# "LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_unscii_8\\\"",
}
all_obj_minimal_features = {
"LV_DPI":60,
"LV_MEM_SIZE":12*1024,
"LV_HOR_RES_MAX":320,
"LV_VER_RES_MAX":240,
"LV_COLOR_DEPTH":8,
"LV_USE_GROUP":0,
"LV_USE_ANIMATION":0,
"LV_ANTIALIAS":0,
"LV_GPU":0,
"LV_USE_FILESYSTEM":0,
"LV_USE_IMG_TRANSFORM":0,
"LV_USE_API_EXTENSION_V6":0,
"LV_USE_USER_DATA":0,
"LV_USE_USER_DATA_FREE":0,
minimal_16bit = {
"LV_COLOR_DEPTH":16,
"LV_MEM_SIZE":64 * 1024,
"LV_DPI_DEF":40,
"LV_DRAW_COMPLEX":0,
"LV_USE_LOG":0,
"LV_USE_THEME_MATERIAL":1,
"LV_THEME_DEFAULT_INIT": "\\\"lv_theme_material_init\\\"",
"LV_THEME_DEFAULT_COLOR_PRIMARY": "\\\"LV_COLOR_RED\\\"",
"LV_THEME_DEFAULT_COLOR_SECONDARY": "\\\"LV_COLOR_BLUE\\\"",
"LV_THEME_DEFAULT_FLAG" : "\\\"LV_THEME_MATERIAL_FLAG_LIGHT\\\"",
"LV_THEME_DEFAULT_FONT_SMALL" : "\\\"&lv_font_montserrat_16\\\"",
"LV_THEME_DEFAULT_FONT_NORMAL" : "\\\"&lv_font_montserrat_16\\\"",
"LV_THEME_DEFAULT_FONT_SUBTITLE" : "\\\"&lv_font_montserrat_16\\\"",
"LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_montserrat_16\\\"",
"LV_USE_DEBUG":0,
"LV_USE_ASSERT_NULL":0,
"LV_USE_ASSERT_MEM":0,
"LV_USE_ASSERT_STR":0,
"LV_USE_ASSERT_OBJ":0,
"LV_USE_ASSERT_STYLE":0,
"LV_FONT_MONTSERRAT_12":0,
"LV_FONT_MONTSERRAT_16":1,
"LV_FONT_MONTSERRAT_22":0,
"LV_FONT_MONTSERRAT_28":0,
"LV_FONT_MONTSERRAT_12_SUBPX":0,
"LV_FONT_MONTSERRAT_28_COMPRESSED":0,
"LV_FONT_UNSCII_8":0,
"LV_USE_BIDI": 0,
"LV_USE_OBJ_REALIGN": 0,
"LV_USE_EXT_CLICK_AREA":"LV_EXT_CLICK_AREA_TINY",
"LV_USE_ARC":1,
"LV_USE_BAR":1,
"LV_USE_BTN":1,
"LV_USE_BTNM":1,
"LV_USE_CALENDAR":1,
"LV_USE_CANVAS":1,
"LV_USE_CHECKBOX":1,
"LV_USE_CHART":1,
"LV_USE_CONT":1,
"LV_USE_CPICKER":1,
"LV_USE_DROPDOWN":1,
"LV_USE_GAUGE":1,
"LV_USE_IMG":1,
"LV_USE_IMGBTN":1,
"LV_USE_KEYBOARD":1,
"LV_USE_LABEL":1,
"LV_USE_LED":1,
"LV_USE_LINE":1,
"LV_USE_LIST":1,
"LV_USE_LINEMETER":1,
"LV_USE_OBJMASK":1,
"LV_USE_MBOX":1,
"LV_USE_PAGE":1,
"LV_USE_SPINNER":0, #Disabled beacsue needs anim
"LV_USE_ROLLER":1,
"LV_USE_SLIDER":1,
"LV_USE_SPINBOX":1,
"LV_USE_SWITCH":1,
"LV_USE_TEXTAREA":1,
"LV_USE_TABLE":1,
"LV_USE_TABVIEW":1,
"LV_USE_TILEVIEW":1,
"LV_USE_WIN":1
}
all_obj_all_features = {
"LV_DPI":100,
"LV_MEM_SIZE":32*1024,
"LV_HOR_RES_MAX":480,
"LV_VER_RES_MAX":320,
"LV_COLOR_DEPTH":32,
"LV_COLOR_SCREEN_TRANSP":1,
"LV_USE_GROUP":1,
"LV_USE_ANIMATION":1,
"LV_ANTIALIAS":1,
"LV_GPU":1,
"LV_USE_FILESYSTEM":1,
"LV_USE_IMG_TRANSFORM":1,
"LV_USE_API_EXTENSION_V6":1,
"LV_USE_USER_DATA":1,
"LV_USE_USER_DATA_FREE":0,
"LV_USE_LOG":1,
"LV_USE_THEME_MATERIAL":1,
"LV_USE_THEME_EMPTY":1,
"LV_USE_THEME_MONO":1,
"LV_THEME_DEFAULT_INIT": "\\\"lv_theme_material_init\\\"",
"LV_THEME_DEFAULT_COLOR_PRIMARY": "\\\"LV_COLOR_RED\\\"",
"LV_THEME_DEFAULT_COLOR_SECONDARY": "\\\"LV_COLOR_BLUE\\\"",
"LV_THEME_DEFAULT_FLAG" : "\\\"LV_THEME_MATERIAL_FLAG_LIGHT\\\"",
"LV_THEME_DEFAULT_FONT_SMALL" : "\\\"&lv_font_montserrat_12\\\"",
"LV_THEME_DEFAULT_FONT_NORMAL" : "\\\"&lv_font_montserrat_16\\\"",
"LV_THEME_DEFAULT_FONT_SUBTITLE" : "\\\"&lv_font_montserrat_22\\\"",
"LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_montserrat_28\\\"",
"LV_LOG_PRINTF":0,
"LV_USE_DEBUG":0,
"LV_USE_ASSERT_NULL":0,
"LV_USE_ASSERT_MEM":0,
"LV_USE_ASSERT_STR":0,
"LV_USE_ASSERT_MALLOC":0,
"LV_USE_ASSERT_MEM_INTEGRITY":0,
"LV_USE_ASSERT_OBJ":0,
"LV_USE_ASSERT_STYLE":0,
"LV_FONT_MONTSERRAT_12":1,
"LV_FONT_MONTSERRAT_16":1,
"LV_FONT_MONTSERRAT_22":1,
"LV_FONT_MONTSERRAT_28":1,
"LV_FONT_MONTSERRAT_12_SUBPX":1,
"LV_FONT_MONTSERRAT_28_COMPRESSED":1,
"LV_USE_USER_DATA": 0,
"LV_FONT_UNSCII_8":1,
"LV_USE_ARC":1,
"LV_USE_BAR":1,
"LV_USE_BTN":1,
"LV_USE_BTNM":1,
"LV_USE_CALENDAR":1,
"LV_USE_CANVAS":1,
"LV_USE_CHECKBOX":1,
"LV_USE_CHART":1,
"LV_USE_CONT":1,
"LV_USE_CPICKER":1,
"LV_USE_DROPDOWN":1,
"LV_USE_GAUGE":1,
"LV_USE_IMG":1,
"LV_USE_IMGBTN":1,
"LV_USE_KEYBOARD":1,
"LV_USE_LABEL":1,
"LV_USE_LED":1,
"LV_USE_LINE":1,
"LV_USE_LIST":1,
"LV_USE_LINEMETER":1,
"LV_USE_OBJMASK":1,
"LV_USE_MBOX":1,
"LV_USE_PAGE":1,
"LV_USE_SPINNER":1,
"LV_USE_ROLLER":1,
"LV_USE_SLIDER":1,
"LV_USE_SPINBOX":1,
"LV_USE_SWITCH":1,
"LV_USE_TEXTAREA":1,
"LV_USE_TABLE":1,
"LV_USE_TABVIEW":1,
"LV_USE_TILEVIEW":1,
"LV_USE_WIN":1
"LV_USE_BIDI": 0,
"LV_USE_ARABIC_PERSIAN_CHARS":0,
# "LV_USE_THEME_MONO":1,
# "LV_THEME_DEFAULT_INIT": "\\\"lv_theme_mono_init\\\"",
# "LV_THEME_DEFAULT_COLOR_PRIMARY": "\\\"LV_COLOR_RED\\\"",
# "LV_THEME_DEFAULT_COLOR_SECONDARY": "\\\"LV_COLOR_BLUE\\\"",
# "LV_THEME_DEFAULT_FLAG" : "0",
# "LV_THEME_DEFAULT_FONT_SMALL" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_NORMAL" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_SUBTITLE" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_unscii_8\\\"",
}
advanced_features = {
"LV_DPI":100,
"LV_MEM_SIZE":4*1024*1024,
"LV_MEM_CUSTOM":1,
"LV_HOR_RES_MAX":800,
"LV_VER_RES_MAX":480,
minimal_16bit_swap = {
"LV_COLOR_DEPTH":16,
"LV_COLOR_16_SWAP":1,
"LV_MEM_SIZE":64 * 1024,
"LV_DPI_DEF":40,
"LV_DRAW_COMPLEX":0,
"LV_USE_LOG":0,
"LV_USE_ASSERT_NULL":0,
"LV_USE_ASSERT_MALLOC":0,
"LV_USE_ASSERT_MEM_INTEGRITY":0,
"LV_USE_ASSERT_OBJ":0,
"LV_USE_ASSERT_STYLE":0,
"LV_USE_USER_DATA": 0,
"LV_FONT_UNSCII_8":1,
"LV_USE_BIDI": 0,
"LV_USE_ARABIC_PERSIAN_CHARS":0,
# "LV_USE_THEME_MONO":1,
# "LV_THEME_DEFAULT_INIT": "\\\"lv_theme_mono_init\\\"",
# "LV_THEME_DEFAULT_COLOR_PRIMARY": "\\\"LV_COLOR_RED\\\"",
# "LV_THEME_DEFAULT_COLOR_SECONDARY": "\\\"LV_COLOR_BLUE\\\"",
# "LV_THEME_DEFAULT_FLAG" : "0",
# "LV_THEME_DEFAULT_FONT_SMALL" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_NORMAL" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_SUBTITLE" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_unscii_8\\\"",
}
full_32bit = {
"LV_COLOR_DEPTH":32,
"LV_COLOR_16_SWAP":0,
"LV_COLOR_SCREEN_TRANSP":1,
"LV_USE_GROUP":1,
"LV_USE_ANIMATION":1,
"LV_ANTIALIAS":1,
"LV_GPU":1,
"LV_USE_FILESYSTEM":1,
"LV_USE_IMG_TRANSFORM":1,
"LV_USE_API_EXTENSION_V6":1,
"LV_USE_USER_DATA":1,
"LV_MEM_SIZE":8 * 1024 * 1024,
"LV_DPI_DEF":160,
"LV_DRAW_COMPLEX":1,
"LV_SHADOW_CACHE_SIZE":1,
"LV_IMG_CACHE_DEF_SIZE":32,
"LV_USE_LOG":1,
"LV_USE_THEME_MATERIAL":1,
"LV_USE_THEME_EMPTY":1,
"LV_THEME_DEFAULT_INIT": "\\\"lv_theme_material_init\\\"",
"LV_THEME_DEFAULT_COLOR_PRIMARY": "\\\"LV_COLOR_RED\\\"",
"LV_THEME_DEFAULT_COLOR_SECONDARY": "\\\"LV_COLOR_BLUE\\\"",
"LV_THEME_DEFAULT_FLAG" : "\\\"LV_THEME_MATERIAL_FLAG_LIGHT\\\"",
"LV_THEME_DEFAULT_FONT_SMALL" : "\\\"&lv_font_montserrat_12\\\"",
"LV_THEME_DEFAULT_FONT_NORMAL" : "\\\"&lv_font_montserrat_16\\\"",
"LV_THEME_DEFAULT_FONT_SUBTITLE" : "\\\"&lv_font_montserrat_22\\\"",
"LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_montserrat_28\\\"",
"LV_LOG_PRINTF":1,
"LV_USE_DEBUG":1,
"LV_FONT_SUBPX_BGR":1,
"LV_USE_PERF_MONITOR":1,
"LV_USE_ASSERT_NULL":1,
"LV_USE_ASSERT_MEM":1,
"LV_USE_ASSERT_STR":1,
"LV_USE_ASSERT_MALLOC":1,
"LV_USE_ASSERT_MEM_INTEGRITY":1,
"LV_USE_ASSERT_OBJ":1,
"LV_USE_ASSERT_STYLE":1,
"LV_USE_USER_DATA": 1,
"LV_USE_LARGE_COORD": 1,
"LV_FONT_MONTSERRAT_8":1,
"LV_FONT_MONTSERRAT_10":1,
"LV_FONT_MONTSERRAT_12":1,
"LV_FONT_MONTSERRAT_14":1,
"LV_FONT_MONTSERRAT_16":1,
"LV_FONT_MONTSERRAT_18":1,
"LV_FONT_MONTSERRAT_20":1,
"LV_FONT_MONTSERRAT_22":1,
"LV_FONT_MONTSERRAT_24":1,
"LV_FONT_MONTSERRAT_26":1,
"LV_FONT_MONTSERRAT_28":1,
"LV_FONT_MONTSERRAT_30":1,
"LV_FONT_MONTSERRAT_32":1,
"LV_FONT_MONTSERRAT_34":1,
"LV_FONT_MONTSERRAT_36":1,
"LV_FONT_MONTSERRAT_38":1,
"LV_FONT_MONTSERRAT_40":1,
"LV_FONT_MONTSERRAT_42":1,
"LV_FONT_MONTSERRAT_44":1,
"LV_FONT_MONTSERRAT_46":1,
"LV_FONT_MONTSERRAT_48":1,
"LV_FONT_MONTSERRAT_12_SUBPX":1,
"LV_FONT_MONTSERRAT_28_COMPRESSED":1,
"LV_FONT_DEJAVU_16_PERSIAN_HEBREW":1,
"LV_FONT_SIMSUN_16_CJK":1,
"LV_FONT_UNSCII_8":1,
"LV_USE_BIDI": 1,
"LV_USE_REVERSE_ARABIC_PERSIAN_CHARS":1,
"LV_USE_OBJ_REALIGN": 1,
"LV_FONT_UNSCII_16":1,
"LV_FONT_FMT_TXT_LARGE":1,
"LV_FONT_SUBPX_BGR":1,
"LV_FONT_FMT_TXT_LARGE":1,
"LV_USE_BIDI": 1,
"LV_USE_OBJ_REALIGN": 1,
"LV_USE_EXT_CLICK_AREA":"LV_EXT_CLICK_AREA_FULL",
"LV_USE_ARC":1,
"LV_USE_BAR":1,
"LV_USE_BTN":1,
"LV_USE_BTNM":1,
"LV_USE_CALENDAR":1,
"LV_USE_CANVAS":1,
"LV_USE_CHECKBOX":1,
"LV_USE_CHART":1,
"LV_USE_CONT":1,
"LV_USE_CPICKER":1,
"LV_USE_DROPDOWN":1,
"LV_USE_GAUGE":1,
"LV_USE_IMG":1,
"LV_USE_IMGBTN":1,
"LV_USE_KEYBOARD":1,
"LV_USE_LABEL":1,
"LV_USE_LED":1,
"LV_USE_LINE":1,
"LV_USE_LIST":1,
"LV_USE_LINEMETER":1,
"LV_USE_OBJMASK":1,
"LV_USE_MBOX":1,
"LV_USE_PAGE":1,
"LV_USE_SPINNER":1,
"LV_USE_ROLLER":1,
"LV_USE_SLIDER":1,
"LV_USE_SPINBOX":1,
"LV_USE_SWITCH":1,
"LV_USE_TEXTAREA":1,
"LV_USE_TABLE":1,
"LV_USE_TABVIEW":1,
"LV_USE_TILEVIEW":1,
"LV_USE_WIN":1
"LV_USE_ARABIC_PERSIAN_CHARS":1,
# "LV_USE_THEME_MONO":1,
# "LV_THEME_DEFAULT_INIT": "\\\"lv_theme_mono_init\\\"",
# "LV_THEME_DEFAULT_COLOR_PRIMARY": "\\\"LV_COLOR_RED\\\"",
# "LV_THEME_DEFAULT_COLOR_SECONDARY": "\\\"LV_COLOR_BLUE\\\"",
# "LV_THEME_DEFAULT_FLAG" : "0",
# "LV_THEME_DEFAULT_FONT_SMALL" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_NORMAL" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_SUBTITLE" : "\\\"&lv_font_unscii_8\\\"",
# "LV_THEME_DEFAULT_FONT_TITLE" : "\\\"&lv_font_unscii_8\\\"",
}
build("Minimal monochrome", minimal_monochrome)
build("Minimal config monochrome", minimal_monochrome)
build("Minimal config, 16 bit color depth", minimal_16bit)
build("Minimal config, 16 bit color depth swapped", minimal_16bit_swap)
build("Full config, 32 bit color depth", full_32bit)
#build("All objects, minimal features", all_obj_minimal_features)
#build("All objects, all common features", all_obj_all_features)
#build("All objects, with advanced features", advanced_features)

View File

@@ -159,6 +159,7 @@ void lv_test_assert_ptr_eq(const void * p_ref, const void * p_act, const char *
void lv_test_assert_color_eq(lv_color_t c_ref, lv_color_t c_act, const char * s)
{
#if LV_COLOR_16_SWAP == 0
if(c_ref.full != c_act.full) {
lv_test_error(" FAIL: %s. (Expected: R:%02x, G:%02x, B:%02x, Actual: R:%02x, G:%02x, B:%02x)", s,
c_ref.ch.red, c_ref.ch.green, c_ref.ch.blue,
@@ -167,6 +168,12 @@ void lv_test_assert_color_eq(lv_color_t c_ref, lv_color_t c_act, const char * s)
lv_test_print(" PASS: %s. (Expected: R:%02x, G:%02x, B:%02x)", s,
c_ref.ch.red, c_ref.ch.green, c_ref.ch.blue);
}
#else
LV_UNUSED(c_ref);
LV_UNUSED(c_act);
LV_UNUSED(s);
lv_test_print(" SKIP");
#endif
}
void lv_test_assert_img_eq(const char * fn_ref, const char * s)

View File

@@ -46,7 +46,7 @@ void lv_test_core(void)
lv_test_print("*******************");
lv_test_obj();
lv_test_style();
// lv_test_style();
lv_test_font_loader();
}

View File

@@ -10,9 +10,9 @@
#include "../../lvgl.h"
#if LV_BUILD_TEST
#include "../lv_test_assert.h"
#include "../src/lv_font/lv_font_fmt_txt.h"
#include "../src/lv_font/lv_font.h"
#include "../src/lv_font/lv_font_loader.h"
#include "../../src/lv_font/lv_font_fmt_txt.h"
#include "../../src/lv_font/lv_font.h"
#include "../../src/lv_font/lv_font_loader.h"
#include "lv_test_font_loader.h"
@@ -28,9 +28,7 @@
* STATIC PROTOTYPES
**********************/
#if LV_USE_FILESYSTEM
static int compare_fonts(lv_font_t * f1, lv_font_t * f2);
#endif
/**********************
* STATIC VARIABLES
@@ -50,7 +48,6 @@ extern lv_font_t font_3;
void lv_test_font_loader(void)
{
#if LV_USE_FILESYSTEM
lv_font_t * font_1_bin = lv_font_load("F:font_1.fnt");
lv_font_t * font_2_bin = lv_font_load("F:font_2.fnt");
lv_font_t * font_3_bin = lv_font_load("F:font_3.fnt");
@@ -62,12 +59,8 @@ void lv_test_font_loader(void)
lv_font_free(font_1_bin);
lv_font_free(font_2_bin);
lv_font_free(font_3_bin);
#else
lv_test_print("SKIP: font load test because it requires LV_USE_FILESYSTEM 1 and LV_FONT_FMT_TXT_LARGE 0");
#endif
}
#if LV_USE_FILESYSTEM
static int compare_fonts(lv_font_t * f1, lv_font_t * f2)
{
lv_test_assert_true(f1 != NULL && f2 != NULL, "font not null");
@@ -205,7 +198,6 @@ static int compare_fonts(lv_font_t * f1, lv_font_t * f2)
LV_LOG_INFO("No differences found!");
return 0;
}
#endif
/**********************
* STATIC FUNCTIONS

View File

@@ -59,30 +59,30 @@ static void create_delete_change_parent(void)
lv_test_print("-------------------------------------------------");
lv_test_print("Create an object on the default screen");
lv_test_assert_int_eq(0, lv_obj_count_children(lv_scr_act()), "Screen's children count before creation");
lv_test_assert_int_eq(0, lv_obj_get_child_cnt(lv_scr_act()), "Screen's children count before creation");
lv_obj_t * obj = lv_obj_create(lv_scr_act(), NULL);
lv_test_assert_int_eq(1, lv_obj_count_children(lv_scr_act()), "Screen's children count after creation");
lv_test_assert_int_eq(0, lv_obj_count_children(obj), "New object's children count after creation");
lv_test_assert_int_eq(1, lv_obj_get_child_cnt(lv_scr_act()), "Screen's children count after creation");
lv_test_assert_int_eq(0, lv_obj_get_child_cnt(obj), "New object's children count after creation");
lv_test_print("Delete the created object");
lv_obj_del(obj);
obj = NULL;
lv_test_assert_int_eq(0, lv_obj_count_children(lv_scr_act()), "Screen's children count after delete");
lv_test_assert_int_eq(0, lv_obj_get_child_cnt(lv_scr_act()), "Screen's children count after delete");
lv_test_print("Create two objects");
lv_obj_t * obj_parent = lv_obj_create(lv_scr_act(), NULL);
lv_obj_t * obj_child = lv_obj_create(lv_scr_act(), NULL);
lv_test_assert_int_eq(2, lv_obj_count_children(lv_scr_act()), "Screen's children count after creation");
lv_test_assert_int_eq(2, lv_obj_get_child_cnt(lv_scr_act()), "Screen's children count after creation");
lv_test_print("Change the parent of the second object to the first");
lv_obj_set_parent(obj_child, obj_parent);
lv_test_assert_int_eq(1, lv_obj_count_children(lv_scr_act()), "Screen's children count after parent change");
lv_test_assert_int_eq(1, lv_obj_count_children(obj_parent), "Parent object's children count after parent change");
lv_test_assert_int_eq(0, lv_obj_count_children(obj_child), "Child object's children count after parent change");
lv_test_assert_int_eq(1, lv_obj_get_child_cnt(lv_scr_act()), "Screen's children count after parent change");
lv_test_assert_int_eq(1, lv_obj_get_child_cnt(obj_parent), "Parent object's children count after parent change");
lv_test_assert_int_eq(0, lv_obj_get_child_cnt(obj_child), "Child object's children count after parent change");
lv_test_print("Remove the parent object");
lv_obj_del(obj_parent);
lv_test_assert_int_eq(0, lv_obj_count_children(lv_scr_act()), "Screen's children count after delete");
lv_test_assert_int_eq(0, lv_obj_get_child_cnt(lv_scr_act()), "Screen's children count after delete");
}
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
#include "lv_test_core/lv_test_core.h"
#include "lv_test_widgets/lv_test_label.h"
#if LV_BUILD_TEST
#if LV_BUILD_TEST && !defined(LV_BUILD_TEST_NO_MAIN)
#include <sys/time.h>
#define HOR_RES 800
@@ -23,13 +23,12 @@ int main(void)
hal_init();
lv_test_core();
lv_test_label();
// lv_test_label();
printf("Exit with success!\n");
return 0;
}
#if LV_USE_FILESYSTEM
static void * open_cb(struct _lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode)
{
(void) drv;
@@ -89,7 +88,6 @@ static lv_fs_res_t tell_cb(struct _lv_fs_drv_t * drv, void * file_p, uint32_t *
return LV_FS_RES_OK;
}
#endif
static void hal_init(void)
{
@@ -106,7 +104,6 @@ static void hal_init(void)
disp_drv.ver_res = VER_RES;
lv_disp_drv_register(&disp_drv);
#if LV_USE_FILESYSTEM
lv_fs_drv_t drv;
lv_fs_drv_init(&drv); /*Basic initialization*/
@@ -118,7 +115,6 @@ static void hal_init(void)
drv.tell_cb = tell_cb; /*Callback to tell the cursor position */
lv_fs_drv_register(&drv); /*Finally register the drive*/
#endif
}
#include <stdio.h>

View File

@@ -1,69 +1,69 @@
/**
* @file lv_test_label.c
*
*/
/*********************
* INCLUDES
*********************/
#include "../../lvgl.h"
#include "../lv_test_assert.h"
#include "lv_test_label.h"
#if LV_BUILD_TEST
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
static void create_copy(void);
/**********************
* STATIC VARIABLES
**********************/
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
void lv_test_label(void)
{
lv_test_print("");
lv_test_print("===================");
lv_test_print("Start lv_label tests");
lv_test_print("===================");
#if LV_USE_LABEL
create_copy();
#else
lv_test_print("Skip label test: LV_USE_LABEL == 0");
#endif
}
/**********************
* STATIC FUNCTIONS
**********************/
static void create_copy(void)
{
lv_test_print("");
lv_test_print("Create a label");
lv_test_print("---------------------------");
lv_label_create(lv_scr_act(), NULL);
#if LV_COLOR_DEPTH == 32
lv_test_assert_img_eq("lv_test_img32_label_1.png", "Create a label and leave the default settings");
#endif
}
#endif
///**
// * @file lv_test_label.c
// *
// */
//
///*********************
// * INCLUDES
// *********************/
//#include "../../lvgl.h"
//#include "../lv_test_assert.h"
//#include "lv_test_label.h"
//
//#if LV_BUILD_TEST
//
///*********************
// * DEFINES
// *********************/
//
///**********************
// * TYPEDEFS
// **********************/
//
///**********************
// * STATIC PROTOTYPES
// **********************/
//static void create_copy(void);
//
///**********************
// * STATIC VARIABLES
// **********************/
//
///**********************
// * MACROS
// **********************/
//
///**********************
// * GLOBAL FUNCTIONS
// **********************/
//
//void lv_test_label(void)
//{
// lv_test_print("");
// lv_test_print("===================");
// lv_test_print("Start lv_label tests");
// lv_test_print("===================");
//
//#if LV_USE_LABEL
// create_copy();
//#else
// lv_test_print("Skip label test: LV_USE_LABEL == 0");
//#endif
//}
//
///**********************
// * STATIC FUNCTIONS
// **********************/
//
//static void create_copy(void)
//{
// lv_test_print("");
// lv_test_print("Create a label");
// lv_test_print("---------------------------");
//
// lv_label_create(lv_scr_act(), NULL);
//#if LV_COLOR_DEPTH == 32
// lv_test_assert_img_eq("lv_test_img32_label_1.png", "Create a label and leave the default settings");
//#endif
//}
//#endif