demo工程暂存 优化菜单界面UI和功能
This commit is contained in:
56
Demo/lvgl/tests/lv_test_core/lv_test_core.c
Normal file
56
Demo/lvgl/tests/lv_test_core/lv_test_core.c
Normal file
@ -0,0 +1,56 @@
|
||||
/**
|
||||
* @file lv_test_core.c
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "../lv_test_assert.h"
|
||||
|
||||
#if LV_BUILD_TEST
|
||||
#include "lv_test_core.h"
|
||||
#include "lv_test_obj.h"
|
||||
#include "lv_test_style.h"
|
||||
#include "lv_test_font_loader.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
void lv_test_core(void)
|
||||
{
|
||||
lv_test_print("");
|
||||
lv_test_print("*******************");
|
||||
lv_test_print("Start lv_core tests");
|
||||
lv_test_print("*******************");
|
||||
|
||||
lv_test_obj();
|
||||
// lv_test_style();
|
||||
lv_test_font_loader();
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
#endif
|
38
Demo/lvgl/tests/lv_test_core/lv_test_core.h
Normal file
38
Demo/lvgl/tests/lv_test_core/lv_test_core.h
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file lv_test_core.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_TEST_CORE_H
|
||||
#define LV_TEST_CORE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_test_core(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_TEST_CORE_H*/
|
210
Demo/lvgl/tests/lv_test_core/lv_test_font_loader.c
Normal file
210
Demo/lvgl/tests/lv_test_core/lv_test_font_loader.c
Normal file
@ -0,0 +1,210 @@
|
||||
/**
|
||||
* @file lv_test_font_loader.c
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
#include "../../lvgl.h"
|
||||
#if LV_BUILD_TEST
|
||||
#include "../lv_test_assert.h"
|
||||
#include "../../src/font/lv_font_fmt_txt.h"
|
||||
#include "../../src/font/lv_font.h"
|
||||
#include "../../src/font/lv_font_loader.h"
|
||||
|
||||
#include "lv_test_font_loader.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
static int compare_fonts(lv_font_t * f1, lv_font_t * f2);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
extern lv_font_t font_1;
|
||||
extern lv_font_t font_2;
|
||||
extern lv_font_t font_3;
|
||||
|
||||
void lv_test_font_loader(void)
|
||||
{
|
||||
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");
|
||||
|
||||
compare_fonts(&font_1, font_1_bin);
|
||||
compare_fonts(&font_2, font_2_bin);
|
||||
compare_fonts(&font_3, font_3_bin);
|
||||
|
||||
lv_font_free(font_1_bin);
|
||||
lv_font_free(font_2_bin);
|
||||
lv_font_free(font_3_bin);
|
||||
}
|
||||
|
||||
static int compare_fonts(lv_font_t * f1, lv_font_t * f2)
|
||||
{
|
||||
lv_test_assert_true(f1 != NULL && f2 != NULL, "font not null");
|
||||
|
||||
// Skip these test because -Wpedantic tells
|
||||
// ISO C forbids passing argument 1 of ‘lv_test_assert_ptr_eq’ between function pointer and ‘void *’
|
||||
// lv_test_assert_ptr_eq(f1->get_glyph_dsc, f2->get_glyph_dsc, "glyph_dsc");
|
||||
// lv_test_assert_ptr_eq(f1->get_glyph_bitmap, f2->get_glyph_bitmap, "glyph_bitmap");
|
||||
|
||||
lv_test_assert_int_eq(f1->line_height, f2->line_height, "line_height");
|
||||
lv_test_assert_int_eq(f1->base_line, f2->base_line, "base_line");
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
lv_test_assert_int_eq(f1->subpx, f2->subpx, "subpx");
|
||||
#endif
|
||||
lv_font_fmt_txt_dsc_t * dsc1 = (lv_font_fmt_txt_dsc_t *)f1->dsc;
|
||||
lv_font_fmt_txt_dsc_t * dsc2 = (lv_font_fmt_txt_dsc_t *)f2->dsc;
|
||||
|
||||
lv_test_assert_int_eq(dsc1->kern_scale, dsc2->kern_scale, "kern_scale");
|
||||
lv_test_assert_int_eq(dsc1->cmap_num, dsc2->cmap_num, "cmap_num");
|
||||
lv_test_assert_int_eq(dsc1->bpp, dsc2->bpp, "bpp");
|
||||
lv_test_assert_int_eq(dsc1->kern_classes, dsc2->kern_classes, "kern_classes");
|
||||
lv_test_assert_int_eq(dsc1->bitmap_format, dsc2->bitmap_format, "bitmap_format");
|
||||
|
||||
// cmaps
|
||||
int total_glyphs = 0;
|
||||
for(int i = 0; i < dsc1->cmap_num; ++i) {
|
||||
lv_font_fmt_txt_cmap_t * cmaps1 = (lv_font_fmt_txt_cmap_t *)&dsc1->cmaps[i];
|
||||
lv_font_fmt_txt_cmap_t * cmaps2 = (lv_font_fmt_txt_cmap_t *)&dsc2->cmaps[i];
|
||||
|
||||
lv_test_assert_int_eq(cmaps1->range_start, cmaps2->range_start, "range_start");
|
||||
lv_test_assert_int_eq(cmaps1->range_length, cmaps2->range_length, "range_length");
|
||||
lv_test_assert_int_eq(cmaps1->glyph_id_start, cmaps2->glyph_id_start, "glyph_id_start");
|
||||
lv_test_assert_int_eq(cmaps1->type, cmaps2->type, "type");
|
||||
lv_test_assert_int_eq(cmaps1->list_length, cmaps2->list_length, "list_length");
|
||||
|
||||
if(cmaps1->unicode_list != NULL && cmaps2->unicode_list != NULL) {
|
||||
lv_test_assert_true(cmaps1->unicode_list && cmaps2->unicode_list, "unicode_list");
|
||||
|
||||
lv_test_assert_array_eq(
|
||||
(uint8_t *)cmaps1->unicode_list,
|
||||
(uint8_t *)cmaps2->unicode_list,
|
||||
sizeof(uint16_t) * cmaps1->list_length,
|
||||
"unicode_list");
|
||||
total_glyphs += cmaps1->list_length;
|
||||
}
|
||||
else {
|
||||
total_glyphs += cmaps1->range_length;
|
||||
lv_test_assert_ptr_eq(cmaps1->unicode_list, cmaps2->unicode_list, "unicode_list");
|
||||
}
|
||||
|
||||
if(cmaps1->glyph_id_ofs_list != NULL && cmaps2->glyph_id_ofs_list != NULL) {
|
||||
uint8_t * ids1 = (uint8_t *)cmaps1->glyph_id_ofs_list;
|
||||
uint8_t * ids2 = (uint8_t *)cmaps2->glyph_id_ofs_list;
|
||||
|
||||
lv_test_assert_array_eq(ids1, ids2, cmaps1->list_length, "glyph_id_ofs_list");
|
||||
}
|
||||
else {
|
||||
lv_test_assert_ptr_eq(cmaps1->glyph_id_ofs_list, cmaps2->glyph_id_ofs_list, "glyph_id_ofs_list");
|
||||
}
|
||||
}
|
||||
|
||||
// kern_dsc
|
||||
if (dsc1->kern_classes == 1 && dsc2->kern_classes == 1) {
|
||||
lv_font_fmt_txt_kern_classes_t * kern1 = (lv_font_fmt_txt_kern_classes_t *)dsc1->kern_dsc;
|
||||
lv_font_fmt_txt_kern_classes_t * kern2 = (lv_font_fmt_txt_kern_classes_t *)dsc2->kern_dsc;
|
||||
if (kern1 != NULL && kern2 != NULL) {
|
||||
lv_test_assert_int_eq(kern1->right_class_cnt, kern2->right_class_cnt, "right_class_cnt");
|
||||
lv_test_assert_int_eq(kern1->left_class_cnt, kern2->left_class_cnt, "left_class_cnt");
|
||||
|
||||
lv_test_assert_array_eq(
|
||||
(uint8_t *)kern1->left_class_mapping,
|
||||
(uint8_t *)kern2->left_class_mapping,
|
||||
kern1->left_class_cnt,
|
||||
"left_class_mapping");
|
||||
|
||||
lv_test_assert_array_eq(
|
||||
(uint8_t *)kern1->right_class_mapping,
|
||||
(uint8_t *)kern2->right_class_mapping,
|
||||
kern1->right_class_cnt,
|
||||
"right_class_mapping");
|
||||
|
||||
lv_test_assert_array_eq(
|
||||
(uint8_t *)kern1->class_pair_values,
|
||||
(uint8_t *)kern2->class_pair_values,
|
||||
kern1->right_class_cnt * kern1->left_class_cnt,
|
||||
"class_pair_values");
|
||||
}
|
||||
else {
|
||||
lv_test_assert_ptr_eq(kern1, kern2, "kern");
|
||||
}
|
||||
}
|
||||
else if (dsc1->kern_classes == 0 && dsc2->kern_classes == 0) {
|
||||
lv_font_fmt_txt_kern_pair_t * kern1 = (lv_font_fmt_txt_kern_pair_t *)dsc1->kern_dsc;
|
||||
lv_font_fmt_txt_kern_pair_t * kern2 = (lv_font_fmt_txt_kern_pair_t *)dsc2->kern_dsc;
|
||||
if (kern1 != NULL && kern2 != NULL) {
|
||||
lv_test_assert_int_eq(kern1->glyph_ids_size, kern2->glyph_ids_size, "glyph_ids_size");
|
||||
lv_test_assert_int_eq(kern1->pair_cnt, kern2->pair_cnt, "pair_cnt");
|
||||
|
||||
int ids_size;
|
||||
|
||||
if (kern1->glyph_ids_size == 0) {
|
||||
ids_size = sizeof(int8_t) * 2 * kern1->pair_cnt;
|
||||
}
|
||||
else {
|
||||
ids_size = sizeof(int16_t) * 2 * kern1->pair_cnt;
|
||||
}
|
||||
|
||||
lv_test_assert_array_eq(kern1->glyph_ids, kern2->glyph_ids, ids_size, "glyph_ids");
|
||||
lv_test_assert_array_eq(
|
||||
(uint8_t * ) kern1->values,
|
||||
(uint8_t * ) kern2->values,
|
||||
kern1->pair_cnt,
|
||||
"glyph_values");
|
||||
}
|
||||
}
|
||||
|
||||
lv_font_fmt_txt_glyph_dsc_t * glyph_dsc1 = (lv_font_fmt_txt_glyph_dsc_t *)dsc1->glyph_dsc;
|
||||
lv_font_fmt_txt_glyph_dsc_t * glyph_dsc2 = (lv_font_fmt_txt_glyph_dsc_t *)dsc2->glyph_dsc;
|
||||
|
||||
for(int i = 0; i < total_glyphs; ++i) {
|
||||
if (i < total_glyphs - 1) {
|
||||
int size1 = glyph_dsc1[i+1].bitmap_index - glyph_dsc1[i].bitmap_index;
|
||||
|
||||
if (size1 > 0) {
|
||||
lv_test_assert_array_eq(
|
||||
dsc1->glyph_bitmap + glyph_dsc1[i].bitmap_index,
|
||||
dsc2->glyph_bitmap + glyph_dsc2[i].bitmap_index,
|
||||
size1 - 1, "glyph_bitmap");
|
||||
}
|
||||
}
|
||||
lv_test_assert_int_eq(glyph_dsc1[i].adv_w, glyph_dsc2[i].adv_w, "adv_w");
|
||||
lv_test_assert_int_eq(glyph_dsc1[i].box_w, glyph_dsc2[i].box_w, "box_w");
|
||||
lv_test_assert_int_eq(glyph_dsc1[i].box_h, glyph_dsc2[i].box_h, "box_h");
|
||||
lv_test_assert_int_eq(glyph_dsc1[i].ofs_x, glyph_dsc2[i].ofs_x, "ofs_x");
|
||||
lv_test_assert_int_eq(glyph_dsc1[i].ofs_y, glyph_dsc2[i].ofs_y, "ofs_y");
|
||||
}
|
||||
|
||||
LV_LOG_INFO("No differences found!");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
#endif // LV_BUILD_TEST
|
||||
|
38
Demo/lvgl/tests/lv_test_core/lv_test_font_loader.h
Normal file
38
Demo/lvgl/tests/lv_test_core/lv_test_font_loader.h
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file lv_test_font_loader.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_TEST_FONT_LOADER_H
|
||||
#define LV_TEST_FONT_LOADER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_test_font_loader(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_TEST_FONT_LOADER_H*/
|
88
Demo/lvgl/tests/lv_test_core/lv_test_obj.c
Normal file
88
Demo/lvgl/tests/lv_test_core/lv_test_obj.c
Normal file
@ -0,0 +1,88 @@
|
||||
/**
|
||||
* @file lv_test_obj.c
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "../../lvgl.h"
|
||||
#include "../lv_test_assert.h"
|
||||
#include "lv_test_obj.h"
|
||||
|
||||
#if LV_BUILD_TEST
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void create_delete_change_parent(void);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
void lv_test_obj(void)
|
||||
{
|
||||
lv_test_print("");
|
||||
lv_test_print("==================");
|
||||
lv_test_print("Start lv_obj tests");
|
||||
lv_test_print("==================");
|
||||
|
||||
create_delete_change_parent();
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
static void create_delete_change_parent(void)
|
||||
{
|
||||
|
||||
lv_test_print("");
|
||||
lv_test_print("Create, delete, change parent of a simple object:");
|
||||
lv_test_print("-------------------------------------------------");
|
||||
|
||||
lv_test_print("Create an object on the default screen");
|
||||
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());
|
||||
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_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());
|
||||
lv_obj_t * obj_child = lv_obj_create(lv_scr_act());
|
||||
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_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_get_child_cnt(lv_scr_act()), "Screen's children count after delete");
|
||||
}
|
||||
#endif
|
38
Demo/lvgl/tests/lv_test_core/lv_test_obj.h
Normal file
38
Demo/lvgl/tests/lv_test_core/lv_test_obj.h
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file lv_test_obj.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_TEST_OBJ_H
|
||||
#define LV_TEST_OBJ_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_test_obj(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_TEST_OBJ_H*/
|
618
Demo/lvgl/tests/lv_test_core/lv_test_style.c
Normal file
618
Demo/lvgl/tests/lv_test_core/lv_test_style.c
Normal file
@ -0,0 +1,618 @@
|
||||
typedef int _keep_pedantic_happy;
|
||||
|
||||
///**
|
||||
// * @file lv_test_style.c
|
||||
// *
|
||||
// */
|
||||
//
|
||||
///*********************
|
||||
// * INCLUDES
|
||||
// *********************/
|
||||
//#include "../../lvgl.h"
|
||||
//#include "../lv_test_assert.h"
|
||||
//#include "lv_test_style.h"
|
||||
//
|
||||
//#if LV_BUILD_TEST
|
||||
//
|
||||
///*********************
|
||||
// * DEFINES
|
||||
// *********************/
|
||||
//
|
||||
///**********************
|
||||
// * TYPEDEFS
|
||||
// **********************/
|
||||
//
|
||||
///**********************
|
||||
// * STATIC PROTOTYPES
|
||||
// **********************/
|
||||
//static void empty_style(void);
|
||||
//static void add_remove_read_prop(void);
|
||||
//static void cascade(void);
|
||||
//static void copy(void);
|
||||
//static void states(void);
|
||||
//static void mem_leak(void);
|
||||
//
|
||||
///**********************
|
||||
// * STATIC VARIABLES
|
||||
// **********************/
|
||||
//
|
||||
///**********************
|
||||
// * MACROS
|
||||
// **********************/
|
||||
//
|
||||
///**********************
|
||||
// * GLOBAL FUNCTIONS
|
||||
// **********************/
|
||||
//
|
||||
//void lv_test_style(void)
|
||||
//{
|
||||
// lv_test_print("");
|
||||
// lv_test_print("====================");
|
||||
// lv_test_print("Start lv_style tests");
|
||||
// lv_test_print("====================");
|
||||
//
|
||||
// empty_style();
|
||||
// add_remove_read_prop();
|
||||
// cascade();
|
||||
// copy();
|
||||
// states();
|
||||
// mem_leak();
|
||||
//}
|
||||
//
|
||||
///**********************
|
||||
// * STATIC FUNCTIONS
|
||||
// **********************/
|
||||
//
|
||||
//static void empty_style(void)
|
||||
//{
|
||||
// lv_test_print("");
|
||||
// lv_test_print("Test empty styles:");
|
||||
// lv_test_print("-----------------");
|
||||
//
|
||||
// lv_res_t found;
|
||||
// lv_coord_t value;
|
||||
// lv_opa_t opa;
|
||||
// const void * ptr;
|
||||
// lv_color_t color;
|
||||
//
|
||||
// lv_test_print("Get a properties from an empty style");
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get an 'int' property");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get an 'opa' property");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get a 'ptr' property");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get a 'color' property");
|
||||
//}
|
||||
//
|
||||
//static void add_remove_read_prop(void)
|
||||
//{
|
||||
// lv_test_print("");
|
||||
// lv_test_print("Add, remove and read properties:");
|
||||
// lv_test_print("--------------------------------");
|
||||
//
|
||||
// lv_style_list_t style_list;
|
||||
// lv_style_list_init(&style_list);
|
||||
//
|
||||
// lv_style_t style;
|
||||
// lv_style_init(&style);
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style);
|
||||
//
|
||||
// lv_res_t found;
|
||||
// lv_coord_t value;
|
||||
// lv_opa_t opa;
|
||||
// const void * ptr;
|
||||
// lv_color_t color;
|
||||
//
|
||||
// lv_test_print("Add an empty style and read properties");
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get a non existing 'int' property");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get a non existing 'opa' property");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get a non existing 'ptr' property");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get a non existing 'color' property");
|
||||
//
|
||||
// lv_test_print("Set properties and read back the values");
|
||||
// _lv_style_set_int(&style, LV_STYLE_TEXT_LINE_SPACE, 5);
|
||||
// _lv_style_set_opa(&style, LV_STYLE_BG_OPA, LV_OPA_50);
|
||||
// _lv_style_set_ptr(&style, LV_STYLE_TEXT_FONT, LV_THEME_DEFAULT_FONT_NORMAL);
|
||||
// _lv_style_set_color(&style, LV_STYLE_BG_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an existing 'int' property");
|
||||
// lv_test_assert_int_eq(5, value, "Get the value of an 'int' property");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an existing 'opa' property");
|
||||
// lv_test_assert_int_eq(LV_OPA_50, opa, "Get the value of an 'opa' property");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an existing 'ptr' property");
|
||||
// lv_test_assert_ptr_eq(LV_THEME_DEFAULT_FONT_NORMAL, ptr, "Get the value of a 'ptr' property");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an existing 'color' property");
|
||||
// lv_test_assert_color_eq(lv_palette_main(LV_PALETTE_RED), color, "Get the value of a 'color' property");
|
||||
//
|
||||
// lv_test_print("Reset the style");
|
||||
// lv_style_reset(&style);
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get an 'int' property from a reseted style");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get an 'opa' property from a reseted style");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get an 'ptr' property from a reseted style");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_INV, found, "Get an 'color' property from a reseted style");
|
||||
//
|
||||
// /*Clean-up*/
|
||||
// _lv_style_list_reset(&style_list);
|
||||
//}
|
||||
//
|
||||
//static void cascade(void)
|
||||
//{
|
||||
// lv_test_print("");
|
||||
// lv_test_print("Cascade style styles:");
|
||||
// lv_test_print("----------------------");
|
||||
//
|
||||
// lv_style_list_t style_list;
|
||||
// lv_style_list_init(&style_list);
|
||||
//
|
||||
// lv_style_t style_first;
|
||||
// lv_style_init(&style_first);
|
||||
// _lv_style_list_add_style(&style_list, &style_first);
|
||||
//
|
||||
// lv_style_t style_second;
|
||||
// lv_style_init(&style_second);
|
||||
// _lv_style_list_add_style(&style_list, &style_second);
|
||||
//
|
||||
// lv_res_t found;
|
||||
// lv_coord_t value;
|
||||
// lv_opa_t opa;
|
||||
// const void * ptr;
|
||||
// lv_color_t color;
|
||||
//
|
||||
// lv_test_print("Read properties set only in the firstly added style");
|
||||
//
|
||||
// _lv_style_set_int(&style_first, LV_STYLE_TEXT_LINE_SPACE, 5);
|
||||
// _lv_style_set_opa(&style_first, LV_STYLE_BG_OPA, LV_OPA_50);
|
||||
// _lv_style_set_ptr(&style_first, LV_STYLE_TEXT_FONT, LV_THEME_DEFAULT_FONT_NORMAL);
|
||||
// _lv_style_set_color(&style_first, LV_STYLE_BG_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'int' property");
|
||||
// lv_test_assert_int_eq(5, value, "Get the value of an 'int' property");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'opa' property");
|
||||
// lv_test_assert_int_eq(LV_OPA_50, opa, "Get the value of an 'opa' property");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'ptr' property");
|
||||
// lv_test_assert_ptr_eq(LV_THEME_DEFAULT_FONT_NORMAL, ptr, "Get the value of a 'ptr' property");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'color' property");
|
||||
// lv_test_assert_color_eq(lv_palette_main(LV_PALETTE_RED), color, "Get the value of a 'color' property");
|
||||
//
|
||||
// lv_test_print("Overwrite the properties from the second style");
|
||||
//
|
||||
// _lv_style_set_int(&style_second, LV_STYLE_TEXT_LINE_SPACE, 10);
|
||||
// _lv_style_set_opa(&style_second, LV_STYLE_BG_OPA, LV_OPA_60);
|
||||
// _lv_style_set_ptr(&style_second, LV_STYLE_TEXT_FONT, LV_THEME_DEFAULT_FONT_NORMAL + 1);
|
||||
// _lv_style_set_color(&style_second, LV_STYLE_BG_COLOR, lv_palette_main(LV_PALETTE_BLUE));
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an overwritten 'int' property");
|
||||
// lv_test_assert_int_eq(10, value, "Get the value of an overwritten 'int' property");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an overwritten 'opa' property");
|
||||
// lv_test_assert_int_eq(LV_OPA_60, opa, "Get the value of an overwritten 'opa' property");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an overwritten 'ptr' property");
|
||||
// lv_test_assert_ptr_eq(LV_THEME_DEFAULT_FONT_NORMAL + 1, ptr, "Get the value of an overwritten 'ptr' property");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an overwritten 'color' property");
|
||||
// lv_test_assert_color_eq(lv_palette_main(LV_PALETTE_BLUE), color, "Get the value of an overwritten 'color' property");
|
||||
//
|
||||
// lv_test_print("Overwrite the properties with the local style");
|
||||
// _lv_style_list_set_local_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, 20);
|
||||
// _lv_style_list_set_local_opa(&style_list, LV_STYLE_BG_OPA, LV_OPA_70);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_TEXT_FONT, LV_THEME_DEFAULT_FONT_NORMAL + 2);
|
||||
// _lv_style_list_set_local_color(&style_list, LV_STYLE_BG_COLOR, LV_COLOR_LIME);
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a local 'int' property");
|
||||
// lv_test_assert_int_eq(20, value, "Get the value of a local 'int' property");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a local 'opa' property");
|
||||
// lv_test_assert_int_eq(LV_OPA_70, opa, "Get the value of a local 'opa' property");
|
||||
//
|
||||
// found = _lv_style_list_get_ptr(&style_list, LV_STYLE_TEXT_FONT, &ptr);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a local 'ptr' property");
|
||||
// lv_test_assert_ptr_eq(LV_THEME_DEFAULT_FONT_NORMAL + 2, ptr, "Get the value of a local'ptr' property");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a local 'color' property");
|
||||
// lv_test_assert_color_eq(LV_COLOR_LIME, color, "Get the value of a local'color' property");
|
||||
//
|
||||
// /*Clean-up*/
|
||||
// _lv_style_list_reset(&style_list);
|
||||
//}
|
||||
//
|
||||
//static void copy(void)
|
||||
//{
|
||||
// lv_test_print("");
|
||||
// lv_test_print("Copy styles and style lists");
|
||||
// lv_test_print("---------------------------");
|
||||
//
|
||||
// lv_test_print("Copy a style");
|
||||
// lv_style_t style_src;
|
||||
// lv_style_init(&style_src);
|
||||
// _lv_style_set_int(&style_src, LV_STYLE_TEXT_LINE_SPACE, 5);
|
||||
//
|
||||
// lv_style_t style_dest;
|
||||
// lv_style_init(&style_dest);
|
||||
// lv_style_copy(&style_dest, &style_src);
|
||||
//
|
||||
// int16_t weight;
|
||||
// lv_coord_t value;
|
||||
//
|
||||
// weight = _lv_style_get_int(&style_dest, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(0, weight, "Get a copied property from a style");
|
||||
// lv_test_assert_int_eq(5, value, "Get the value of a copied from a property");
|
||||
//
|
||||
// lv_test_print("Copy a style list");
|
||||
// lv_style_list_t list_src;
|
||||
// lv_style_list_init(&list_src);
|
||||
// _lv_style_list_add_style(&list_src, &style_src);
|
||||
// _lv_style_list_set_local_int(&list_src, LV_STYLE_LINE_DASH_WIDTH, 20);
|
||||
//
|
||||
// lv_style_list_t list_dest;
|
||||
// lv_style_list_init(&list_dest);
|
||||
// lv_style_list_copy(&list_dest, &list_src);
|
||||
//
|
||||
// lv_res_t found;
|
||||
// found = _lv_style_list_get_int(&list_dest, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a copied property from a list");
|
||||
// lv_test_assert_int_eq(5, value, "Get the value of a copied property from a list");
|
||||
// found = _lv_style_list_get_int(&list_dest, LV_STYLE_LINE_DASH_WIDTH, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a copied local property from a list");
|
||||
// lv_test_assert_int_eq(20, value, "Get the value of a copied local property from a list");
|
||||
//
|
||||
// /*Clean up*/
|
||||
// _lv_style_list_reset(&list_dest);
|
||||
// _lv_style_list_reset(&list_src);
|
||||
//
|
||||
// lv_style_reset(&style_dest);
|
||||
// lv_style_reset(&style_src);
|
||||
//}
|
||||
//
|
||||
//static void states(void)
|
||||
//{
|
||||
// lv_test_print("");
|
||||
// lv_test_print("Test style states:");
|
||||
// lv_test_print("------------------");
|
||||
//
|
||||
// lv_style_list_t style_list;
|
||||
// lv_style_list_init(&style_list);
|
||||
//
|
||||
// lv_style_t style_first;
|
||||
// lv_style_init(&style_first);
|
||||
// _lv_style_list_add_style(&style_list, &style_first);
|
||||
//
|
||||
// lv_style_t style_second;
|
||||
// lv_style_init(&style_second);
|
||||
// _lv_style_list_add_style(&style_list, &style_second);
|
||||
//
|
||||
// lv_test_print("Test state precedence in 1 style");
|
||||
// _lv_style_set_int(&style_first, LV_STYLE_TEXT_LINE_SPACE, 5);
|
||||
// _lv_style_set_int(&style_first, LV_STYLE_TEXT_LINE_SPACE | (LV_STATE_CHECKED) << LV_STYLE_STATE_POS, 6);
|
||||
// _lv_style_set_int(&style_first, LV_STYLE_TEXT_LINE_SPACE | (LV_STATE_PRESSED) << LV_STYLE_STATE_POS, 7);
|
||||
//
|
||||
// lv_res_t found;
|
||||
// lv_coord_t value;
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'int' property in normal state");
|
||||
// lv_test_assert_int_eq(5, value, "Get the value of an 'int' property in normal state");
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE | (LV_STATE_CHECKED) << LV_STYLE_STATE_POS, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'int' property in checked state");
|
||||
// lv_test_assert_int_eq(6, value, "Get the value of an 'int' in checked state");
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE | (LV_STATE_PRESSED) << LV_STYLE_STATE_POS, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'int' property in pressed state");
|
||||
// lv_test_assert_int_eq(7, value, "Get the value of an 'int' in pressed state");
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE | (LV_STATE_HOVERED) << LV_STYLE_STATE_POS, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'int' property in hover (unspecified) state");
|
||||
// lv_test_assert_int_eq(5, value, "Get the value of an 'int' in hover (unspecified) state");
|
||||
//
|
||||
// found = _lv_style_list_get_int(&style_list, LV_STYLE_TEXT_LINE_SPACE | (LV_STATE_CHECKED | LV_STATE_PRESSED | LV_STATE_HOVERED) << LV_STYLE_STATE_POS, &value);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'int' property in checked pressed hovered state");
|
||||
// lv_test_assert_int_eq(7, value, "Get the value of an 'int' in checked pressed hovered state");
|
||||
//
|
||||
// lv_test_print("Test state precedence in 1 style with combined states");
|
||||
// _lv_style_set_opa(&style_first, LV_STYLE_BG_OPA, LV_OPA_50);
|
||||
// _lv_style_set_opa(&style_first, LV_STYLE_BG_OPA | (LV_STATE_CHECKED | LV_STATE_PRESSED) << LV_STYLE_STATE_POS, LV_OPA_60);
|
||||
//
|
||||
// lv_opa_t opa;
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA , &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'opa' property in normal state");
|
||||
// lv_test_assert_int_eq(LV_OPA_50, opa, "Get the value of an 'int' in normal state");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA | (LV_STATE_CHECKED) << LV_STYLE_STATE_POS, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'opa' property in checked (unspecified) state");
|
||||
// lv_test_assert_int_eq(LV_OPA_50, opa, "Get the value of an 'int' in checked (unspecified) state");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA | (LV_STATE_CHECKED | LV_STATE_PRESSED) << LV_STYLE_STATE_POS, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'opa' property in checked pressed state");
|
||||
// lv_test_assert_int_eq(LV_OPA_60, opa, "Get the value of an 'int' in checked pressed state");
|
||||
//
|
||||
// found = _lv_style_list_get_opa(&style_list, LV_STYLE_BG_OPA | (LV_STATE_CHECKED | LV_STATE_PRESSED | LV_STATE_HOVERED) << LV_STYLE_STATE_POS, &opa);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get an 'opa' property in checked pressed hovered state");
|
||||
// lv_test_assert_int_eq(LV_OPA_60, opa, "Get the value of an 'int' in checked pressed hovered state");
|
||||
//
|
||||
// lv_test_print("Test state precedence in 2 styles");
|
||||
// _lv_style_set_color(&style_first, LV_STYLE_BG_COLOR, LV_COLOR_YELLOW);
|
||||
// _lv_style_set_color(&style_first, LV_STYLE_BG_COLOR | (LV_STATE_HOVERED) << LV_STYLE_STATE_POS, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style_second, LV_STYLE_BG_COLOR | (LV_STATE_CHECKED) << LV_STYLE_STATE_POS, LV_COLOR_LIME);
|
||||
// _lv_style_set_color(&style_second, LV_STYLE_BG_COLOR | (LV_STATE_HOVERED | LV_STATE_PRESSED) << LV_STYLE_STATE_POS, lv_palette_main(LV_PALETTE_BLUE));
|
||||
//
|
||||
// lv_color_t color;
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a 'color' property in normal state");
|
||||
// lv_test_assert_color_eq(LV_COLOR_YELLOW, color, "Get the value of a 'color' property in normal state");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR | (LV_STATE_HOVERED) << LV_STYLE_STATE_POS, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a 'color' property in hovered state");
|
||||
// lv_test_assert_color_eq(lv_palette_main(LV_PALETTE_RED), color, "Get the value of a 'color' in hovered state");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR | (LV_STATE_CHECKED) << LV_STYLE_STATE_POS, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a 'color' property in checked state");
|
||||
// lv_test_assert_color_eq(LV_COLOR_LIME, color, "Get the value of a 'color' in checked state");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR | (LV_STATE_HOVERED | LV_STATE_PRESSED) << LV_STYLE_STATE_POS, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a 'color' property in hover pressed state");
|
||||
// lv_test_assert_color_eq(lv_palette_main(LV_PALETTE_BLUE), color, "Get the value of a 'color' in hover pressed state");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR | (LV_STATE_EDITED) << LV_STYLE_STATE_POS, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a 'color' property in edit (unspecified) state");
|
||||
// lv_test_assert_color_eq(LV_COLOR_YELLOW, color, "Get the value of a 'color' in edit (unspecified) state");
|
||||
//
|
||||
// found = _lv_style_list_get_color(&style_list, LV_STYLE_BG_COLOR | (LV_STATE_CHECKED | LV_STATE_EDITED) << LV_STYLE_STATE_POS, &color);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, found, "Get a 'color' property in checked edit state");
|
||||
// lv_test_assert_color_eq(LV_COLOR_LIME, color, "Get the value of a 'color' in checked edit state");
|
||||
//
|
||||
// /*Clean-up*/
|
||||
// _lv_style_list_reset(&style_list);
|
||||
//}
|
||||
//
|
||||
//static void mem_leak(void)
|
||||
//{
|
||||
//
|
||||
// lv_test_print("");
|
||||
// lv_test_print("Test style set, add, remove memory leak");
|
||||
// lv_test_print("----------------------------------------");
|
||||
//
|
||||
// lv_mem_monitor_t mon_start;
|
||||
// lv_mem_monitor_t mon_end;
|
||||
//
|
||||
// lv_style_list_t style_list;
|
||||
// lv_style_list_init(&style_list);
|
||||
//
|
||||
// lv_style_t style1;
|
||||
// lv_style_init(&style1);
|
||||
//
|
||||
// lv_style_t style2;
|
||||
// lv_style_init(&style2);
|
||||
//
|
||||
// lv_style_t style3;
|
||||
// lv_style_init(&style3);
|
||||
//
|
||||
// uint32_t i;
|
||||
//
|
||||
// lv_test_print("Set style properties");
|
||||
// lv_mem_monitor(&mon_start);
|
||||
// for(i = 0; i < 100; i++) {
|
||||
// _lv_style_set_color(&style2, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// _lv_style_set_color(&style3, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style3, LV_STYLE_LINE_COLOR | (LV_STATE_EDITED) << LV_STYLE_STATE_POS, lv_palette_main(LV_PALETTE_BLUE));
|
||||
// _lv_style_set_color(&style3, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_BLUE));
|
||||
// _lv_style_set_color(&style3, LV_STYLE_LINE_COLOR | (LV_STATE_EDITED | LV_STATE_FOCUSED) << LV_STYLE_STATE_POS, LV_COLOR_GREEN);
|
||||
//
|
||||
// _lv_style_set_color(&style3, LV_STYLE_BG_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// _lv_style_set_color(&style3, LV_STYLE_IMAGE_RECOLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// lv_style_reset(&style1);
|
||||
// lv_style_reset(&style2);
|
||||
// lv_style_reset(&style3);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// lv_test_assert_int_eq(LV_RES_OK, lv_mem_test(), "Memory integrity check");
|
||||
// lv_mem_monitor(&mon_end);
|
||||
// lv_test_assert_int_lt(sizeof(void*) * 8, mon_start.free_size - mon_end.free_size, "Style memory leak");
|
||||
//
|
||||
// lv_test_print("Use local style");
|
||||
// lv_mem_monitor(&mon_start);
|
||||
// for(i = 0; i < 100; i++) {
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_TEXT_FONT | (LV_STATE_PRESSED) << LV_STYLE_STATE_POS, LV_THEME_DEFAULT_FONT_NORMAL);
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
//
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_TEXT_FONT | (LV_STATE_PRESSED) << LV_STYLE_STATE_POS, NULL);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
// }
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
// lv_test_assert_int_eq(LV_RES_OK, lv_mem_test(), "Memory integrity check");
|
||||
// lv_mem_monitor(&mon_end);
|
||||
// lv_test_assert_int_lt(sizeof(void*) * 8, mon_start.free_size - mon_end.free_size, "Style memory leak");
|
||||
//
|
||||
// lv_test_print("Add styles");
|
||||
// lv_mem_monitor(&mon_start);
|
||||
// for(i = 0; i < 100; i++) {
|
||||
// _lv_style_set_color(&style1, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style2, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style3, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style1);
|
||||
// _lv_style_list_remove_style(&style_list, &style1);
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style3);
|
||||
//
|
||||
// _lv_style_list_remove_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style1);
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
// lv_style_reset(&style1);
|
||||
// lv_style_reset(&style2);
|
||||
// lv_style_reset(&style3);
|
||||
// }
|
||||
//
|
||||
// lv_test_assert_int_eq(LV_RES_OK, lv_mem_test(), "Memory integrity check");
|
||||
// lv_mem_monitor(&mon_end);
|
||||
// lv_test_assert_int_lt(sizeof(void*) * 8, mon_start.free_size - mon_end.free_size, "Style memory leak");
|
||||
//
|
||||
// lv_test_print("Add styles and use local style");
|
||||
// lv_mem_monitor(&mon_start);
|
||||
// for(i = 0; i < 100; i++) {
|
||||
// _lv_style_set_color(&style1, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style2, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style3, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// if(i % 2 == 0) _lv_style_list_set_local_color(&style_list, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style1);
|
||||
// _lv_style_list_remove_style(&style_list, &style1);
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style3);
|
||||
//
|
||||
// _lv_style_list_remove_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style1);
|
||||
//
|
||||
// if(i % 2 != 0) _lv_style_list_set_local_color(&style_list, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
// lv_style_reset(&style1);
|
||||
// lv_style_reset(&style2);
|
||||
// lv_style_reset(&style3);
|
||||
// }
|
||||
//
|
||||
// lv_test_assert_int_eq(LV_RES_OK, lv_mem_test(), "Memory integrity check");
|
||||
// lv_mem_monitor(&mon_end);
|
||||
// lv_test_assert_int_lt(sizeof(void*) * 8, mon_start.free_size - mon_end.free_size, "Style memory leak");
|
||||
//
|
||||
// lv_test_print("Complex test");
|
||||
//
|
||||
// lv_mem_monitor(&mon_start);
|
||||
//
|
||||
// for(i = 0; i < 100; i++) {
|
||||
// if(i % 2 == 0) {
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_CLOSE);
|
||||
// }
|
||||
//
|
||||
// _lv_style_set_color(&style1, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_RED));
|
||||
// _lv_style_set_color(&style1, LV_STYLE_LINE_COLOR | (LV_STATE_EDITED) << LV_STYLE_STATE_POS, lv_palette_main(LV_PALETTE_BLUE));
|
||||
// _lv_style_set_color(&style1, LV_STYLE_LINE_COLOR, lv_palette_main(LV_PALETTE_BLUE));
|
||||
// _lv_style_set_color(&style1, LV_STYLE_LINE_COLOR | (LV_STATE_EDITED | LV_STATE_FOCUSED) << LV_STYLE_STATE_POS, LV_COLOR_GREEN);
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style1);
|
||||
//
|
||||
// if(i % 4 == 0) {
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_CLOSE);
|
||||
// }
|
||||
//
|
||||
// _lv_style_list_remove_style(&style_list, &style1);
|
||||
//
|
||||
// _lv_style_set_opa(&style2, LV_STYLE_TEXT_OPA, LV_OPA_10);
|
||||
// _lv_style_set_opa(&style2, LV_STYLE_TEXT_OPA, LV_OPA_20);
|
||||
// _lv_style_set_opa(&style2, LV_STYLE_TEXT_OPA, LV_OPA_30);
|
||||
// _lv_style_set_opa(&style2, LV_STYLE_TEXT_OPA, LV_OPA_40);
|
||||
// _lv_style_set_opa(&style2, LV_STYLE_TEXT_OPA, LV_OPA_50);
|
||||
// _lv_style_set_opa(&style2, LV_STYLE_TEXT_OPA, LV_OPA_60);
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
//
|
||||
// if(i % 8 == 0) {
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_CLOSE);
|
||||
// }
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_remove_style(&style_list, &style2);
|
||||
//
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_LEFT, 10);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_RIGHT, 20);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_LEFT, 11);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_RIGHT, 21);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_LEFT, 12);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_RIGHT, 22);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_LEFT, 12);
|
||||
// _lv_style_set_int(&style3, LV_STYLE_PAD_RIGHT, 23);
|
||||
//
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_TEXT_FONT | (LV_STATE_PRESSED) << LV_STYLE_STATE_POS, LV_THEME_DEFAULT_FONT_NORMAL);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_TEXT_FONT | (LV_STATE_PRESSED) << LV_STYLE_STATE_POS, NULL);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
// _lv_style_list_set_local_ptr(&style_list, LV_STYLE_PATTERN_IMAGE, LV_SYMBOL_OK);
|
||||
//
|
||||
// _lv_style_list_add_style(&style_list, &style3);
|
||||
// _lv_style_list_add_style(&style_list, &style2);
|
||||
// _lv_style_list_add_style(&style_list, &style1);
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
// lv_style_reset(&style1);
|
||||
// lv_style_reset(&style2);
|
||||
// lv_style_reset(&style3);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// _lv_style_list_reset(&style_list);
|
||||
// lv_style_reset(&style1);
|
||||
// lv_style_reset(&style2);
|
||||
// lv_style_reset(&style3);
|
||||
//
|
||||
// lv_test_assert_int_eq(LV_RES_OK, lv_mem_test(), "Memory integrity check");
|
||||
// lv_mem_monitor(&mon_end);
|
||||
// lv_test_assert_int_lt(sizeof(void*) * 8, mon_start.free_size - mon_end.free_size, "Style memory leak");
|
||||
//}
|
||||
//#endif
|
38
Demo/lvgl/tests/lv_test_core/lv_test_style.h
Normal file
38
Demo/lvgl/tests/lv_test_core/lv_test_style.h
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file lv_test_style.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_TEST_STYLE_H
|
||||
#define LV_TEST_STYLE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_test_style(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_TEST_STYLE_H*/
|
Reference in New Issue
Block a user