mirror of
https://github.com/lvgl/lvgl.git
synced 2026-06-01 00:51:49 +08:00
chore(format) add formatting for examples & demos, merge test config
This commit is contained in:
@@ -20,7 +20,8 @@ static void sw_event_cb(lv_event_t * e)
|
||||
lv_anim_set_exec_cb(&a, anim_x_cb);
|
||||
lv_anim_set_path_cb(&a, lv_anim_path_overshoot);
|
||||
lv_anim_start(&a);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, label);
|
||||
|
||||
@@ -36,8 +36,8 @@ static void anim_x_cb(void * var, int32_t v);
|
||||
*/
|
||||
void lv_example_anim_3(void)
|
||||
{
|
||||
static lv_coord_t col_dsc[] = {LV_GRID_FR(1), 200, LV_GRID_FR(1),LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[] = {30, 10, 10, LV_GRID_FR(1),LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t col_dsc[] = {LV_GRID_FR(1), 200, LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[] = {30, 10, 10, LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
@@ -53,7 +53,7 @@ void lv_example_anim_3(void)
|
||||
lv_anim_init(&ginfo.a);
|
||||
lv_anim_set_var(&ginfo.a, ginfo.anim_obj);
|
||||
int32_t end = lv_obj_get_style_width(cont, LV_PART_MAIN) -
|
||||
lv_obj_get_style_width(ginfo.anim_obj, LV_PART_MAIN) - 10;
|
||||
lv_obj_get_style_width(ginfo.anim_obj, LV_PART_MAIN) - 10;
|
||||
lv_anim_set_values(&ginfo.a, 5, end);
|
||||
lv_anim_set_time(&ginfo.a, 2000);
|
||||
lv_anim_set_exec_cb(&ginfo.a, anim_x_cb);
|
||||
@@ -124,14 +124,14 @@ static void page_obj_init(lv_obj_t * par)
|
||||
lv_obj_set_align(ginfo.anim_obj, LV_ALIGN_TOP_LEFT);
|
||||
lv_obj_clear_flag(ginfo.anim_obj, LV_OBJ_FLAG_SCROLLABLE);
|
||||
lv_obj_set_style_bg_color(ginfo.anim_obj, lv_palette_main(LV_PALETTE_RED), LV_PART_MAIN);
|
||||
lv_obj_set_grid_cell(ginfo.anim_obj, LV_GRID_ALIGN_START, 0, 1,LV_GRID_ALIGN_START, 0, 1);
|
||||
lv_obj_set_grid_cell(ginfo.anim_obj, LV_GRID_ALIGN_START, 0, 1, LV_GRID_ALIGN_START, 0, 1);
|
||||
|
||||
ginfo.p1_label = lv_label_create(par);
|
||||
ginfo.p2_label = lv_label_create(par);
|
||||
lv_label_set_text(ginfo.p1_label, "p1:0");
|
||||
lv_label_set_text(ginfo.p2_label, "p2:0");
|
||||
lv_obj_set_grid_cell(ginfo.p1_label, LV_GRID_ALIGN_START, 0, 1,LV_GRID_ALIGN_START, 1, 1);
|
||||
lv_obj_set_grid_cell(ginfo.p2_label, LV_GRID_ALIGN_START, 0, 1,LV_GRID_ALIGN_START, 2, 1);
|
||||
lv_obj_set_grid_cell(ginfo.p1_label, LV_GRID_ALIGN_START, 0, 1, LV_GRID_ALIGN_START, 1, 1);
|
||||
lv_obj_set_grid_cell(ginfo.p2_label, LV_GRID_ALIGN_START, 0, 1, LV_GRID_ALIGN_START, 2, 1);
|
||||
|
||||
ginfo.p1_slider = lv_slider_create(par);
|
||||
ginfo.p2_slider = lv_slider_create(par);
|
||||
@@ -141,15 +141,15 @@ static void page_obj_init(lv_obj_t * par)
|
||||
lv_obj_set_style_pad_all(ginfo.p2_slider, 2, LV_PART_KNOB);
|
||||
lv_obj_add_event_cb(ginfo.p1_slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||
lv_obj_add_event_cb(ginfo.p2_slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||
lv_obj_set_grid_cell(ginfo.p1_slider, LV_GRID_ALIGN_STRETCH, 1, 1,LV_GRID_ALIGN_START, 1, 1);
|
||||
lv_obj_set_grid_cell(ginfo.p2_slider, LV_GRID_ALIGN_STRETCH, 1, 1,LV_GRID_ALIGN_START, 2, 1);
|
||||
lv_obj_set_grid_cell(ginfo.p1_slider, LV_GRID_ALIGN_STRETCH, 1, 1, LV_GRID_ALIGN_START, 1, 1);
|
||||
lv_obj_set_grid_cell(ginfo.p2_slider, LV_GRID_ALIGN_STRETCH, 1, 1, LV_GRID_ALIGN_START, 2, 1);
|
||||
|
||||
ginfo.run_btn = lv_btn_create(par);
|
||||
lv_obj_add_event_cb(ginfo.run_btn, run_btn_event_handler, LV_EVENT_CLICKED, NULL);
|
||||
lv_obj_t * btn_label = lv_label_create(ginfo.run_btn);
|
||||
lv_label_set_text(btn_label, LV_SYMBOL_PLAY);
|
||||
lv_obj_center(btn_label);
|
||||
lv_obj_set_grid_cell(ginfo.run_btn, LV_GRID_ALIGN_STRETCH, 2, 1,LV_GRID_ALIGN_STRETCH, 1, 2);
|
||||
lv_obj_set_grid_cell(ginfo.run_btn, LV_GRID_ALIGN_STRETCH, 2, 1, LV_GRID_ALIGN_STRETCH, 1, 2);
|
||||
|
||||
ginfo.chart = lv_chart_create(par);
|
||||
lv_obj_set_style_pad_all(ginfo.chart, 0, LV_PART_MAIN);
|
||||
@@ -159,7 +159,7 @@ static void page_obj_init(lv_obj_t * par)
|
||||
lv_chart_set_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1024);
|
||||
lv_chart_set_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_X, 0, 1024);
|
||||
lv_chart_set_point_count(ginfo.chart, CHART_POINTS_NUM);
|
||||
lv_obj_set_grid_cell(ginfo.chart, LV_GRID_ALIGN_STRETCH, 0, 3,LV_GRID_ALIGN_STRETCH, 3, 1);
|
||||
lv_obj_set_grid_cell(ginfo.chart, LV_GRID_ALIGN_STRETCH, 0, 3, LV_GRID_ALIGN_STRETCH, 3, 1);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -93,7 +93,7 @@ static void btn_start_event_handler(lv_event_t * e)
|
||||
{
|
||||
lv_obj_t * btn = lv_event_get_target(e);
|
||||
|
||||
if (!anim_timeline) {
|
||||
if(!anim_timeline) {
|
||||
anim_timeline_create();
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ static void btn_start_event_handler(lv_event_t * e)
|
||||
static void btn_del_event_handler(lv_event_t * e)
|
||||
{
|
||||
LV_UNUSED(e);
|
||||
if (anim_timeline) {
|
||||
if(anim_timeline) {
|
||||
lv_anim_timeline_del(anim_timeline);
|
||||
anim_timeline = NULL;
|
||||
}
|
||||
@@ -114,7 +114,7 @@ static void btn_del_event_handler(lv_event_t * e)
|
||||
static void btn_stop_event_handler(lv_event_t * e)
|
||||
{
|
||||
LV_UNUSED(e);
|
||||
if (anim_timeline) {
|
||||
if(anim_timeline) {
|
||||
lv_anim_timeline_stop(anim_timeline);
|
||||
}
|
||||
}
|
||||
@@ -123,7 +123,7 @@ static void slider_prg_event_handler(lv_event_t * e)
|
||||
{
|
||||
lv_obj_t * slider = lv_event_get_target(e);
|
||||
|
||||
if (!anim_timeline) {
|
||||
if(!anim_timeline) {
|
||||
anim_timeline_create();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,20 +7,20 @@ static void event_cb(lv_event_t * e)
|
||||
lv_obj_t * label = lv_event_get_user_data(e);
|
||||
|
||||
switch(code) {
|
||||
case LV_EVENT_PRESSED:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_PRESSED");
|
||||
break;
|
||||
case LV_EVENT_CLICKED:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_CLICKED");
|
||||
break;
|
||||
case LV_EVENT_LONG_PRESSED:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_LONG_PRESSED");
|
||||
break;
|
||||
case LV_EVENT_LONG_PRESSED_REPEAT:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_LONG_PRESSED_REPEAT");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case LV_EVENT_PRESSED:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_PRESSED");
|
||||
break;
|
||||
case LV_EVENT_CLICKED:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_CLICKED");
|
||||
break;
|
||||
case LV_EVENT_LONG_PRESSED:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_LONG_PRESSED");
|
||||
break;
|
||||
case LV_EVENT_LONG_PRESSED_REPEAT:
|
||||
lv_label_set_text(label, "The last button event:\nLV_EVENT_LONG_PRESSED_REPEAT");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,15 +7,16 @@ static lv_obj_t * label = NULL;
|
||||
|
||||
static void timer_cb(lv_timer_t * timer)
|
||||
{
|
||||
if (n < 3 || n > 32) {
|
||||
if(n < 3 || n > 32) {
|
||||
n = 3;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
static uint32_t old_tick = 0;
|
||||
uint32_t tick = lv_tick_get();
|
||||
if (!old_tick) {
|
||||
if(!old_tick) {
|
||||
old_tick = tick;
|
||||
}
|
||||
if (tick - old_tick > 3000) {
|
||||
if(tick - old_tick > 3000) {
|
||||
n++;
|
||||
lv_label_set_text_fmt(label, "%d sides", n);
|
||||
old_tick = tick;
|
||||
@@ -35,10 +36,10 @@ static void event_cb(lv_event_t * e)
|
||||
lv_point_t points[32];
|
||||
int i, r = 150;
|
||||
uint32_t tick = lv_tick_get();
|
||||
for (i = 0; i < n; i++) {
|
||||
for(i = 0; i < n; i++) {
|
||||
int angle = i * 360 / n + ((tick % 36000) / 100);
|
||||
lv_coord_t x = 150 + (r * lv_trigo_cos(angle) >> LV_TRIGO_SHIFT), y =
|
||||
150 + (r * lv_trigo_sin(angle) >> LV_TRIGO_SHIFT);
|
||||
150 + (r * lv_trigo_sin(angle) >> LV_TRIGO_SHIFT);
|
||||
points[i].x = x;
|
||||
points[i].y = y;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ void lv_example_flex_1(void)
|
||||
lv_obj_t * label;
|
||||
|
||||
/*Add items to the row*/
|
||||
obj= lv_btn_create(cont_row);
|
||||
obj = lv_btn_create(cont_row);
|
||||
lv_obj_set_size(obj, 100, LV_PCT(100));
|
||||
|
||||
label = lv_label_create(obj);
|
||||
|
||||
@@ -29,7 +29,7 @@ void lv_example_grid_1(void)
|
||||
/*Stretch the cell horizontally and vertically too
|
||||
*Set span to 1 to make the cell 1 column/row sized*/
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1,
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "c%d, r%d", col, row);
|
||||
|
||||
@@ -23,7 +23,7 @@ void lv_example_grid_2(void)
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_START, 0, 1,
|
||||
LV_GRID_ALIGN_START, 0, 1);
|
||||
LV_GRID_ALIGN_START, 0, 1);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c0, r0");
|
||||
|
||||
@@ -31,7 +31,7 @@ void lv_example_grid_2(void)
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_START, 1, 1,
|
||||
LV_GRID_ALIGN_CENTER, 0, 1);
|
||||
LV_GRID_ALIGN_CENTER, 0, 1);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c1, r0");
|
||||
|
||||
@@ -39,7 +39,7 @@ void lv_example_grid_2(void)
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_START, 2, 1,
|
||||
LV_GRID_ALIGN_END, 0, 1);
|
||||
LV_GRID_ALIGN_END, 0, 1);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c2, r0");
|
||||
|
||||
@@ -47,7 +47,7 @@ void lv_example_grid_2(void)
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 1, 2,
|
||||
LV_GRID_ALIGN_STRETCH, 1, 1);
|
||||
LV_GRID_ALIGN_STRETCH, 1, 1);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c1-2, r1");
|
||||
|
||||
@@ -55,7 +55,7 @@ void lv_example_grid_2(void)
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, 0, 1,
|
||||
LV_GRID_ALIGN_STRETCH, 1, 2);
|
||||
LV_GRID_ALIGN_STRETCH, 1, 2);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c0\nr1-2");
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ void lv_example_grid_3(void)
|
||||
/*Stretch the cell horizontally and vertically too
|
||||
*Set span to 1 to make the cell 1 column/row sized*/
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1,
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
|
||||
@@ -30,7 +30,7 @@ void lv_example_grid_4(void)
|
||||
/*Stretch the cell horizontally and vertically too
|
||||
*Set span to 1 to make the cell 1 column/row sized*/
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1,
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
|
||||
@@ -36,7 +36,7 @@ void lv_example_grid_5(void)
|
||||
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1,
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
lv_obj_center(label);
|
||||
|
||||
@@ -28,7 +28,7 @@ void lv_example_grid_6(void)
|
||||
/*Stretch the cell horizontally and vertically too
|
||||
*Set span to 1 to make the cell 1 column/row sized*/
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1,
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
LV_GRID_ALIGN_STRETCH, row, 1);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
|
||||
+1114
-1114
File diff suppressed because it is too large
Load Diff
+331
-331
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,7 @@ void lv_example_rlottie_2(void)
|
||||
{
|
||||
/*The rlottie library uses STDIO file API, so there is no driver letter for LVGL*/
|
||||
lv_obj_t * lottie = lv_rlottie_create_from_file(lv_scr_act(), 100, 100,
|
||||
"lvgl/examples/libs/rlottie/lv_example_rlottie_approve.json");
|
||||
"lvgl/examples/libs/rlottie/lv_example_rlottie_approve.json");
|
||||
lv_obj_center(lottie);
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -6,12 +6,12 @@
|
||||
*/
|
||||
void lv_example_sjpg_1(void)
|
||||
{
|
||||
lv_obj_t * wp;
|
||||
lv_obj_t * wp;
|
||||
|
||||
wp = lv_img_create(lv_scr_act());
|
||||
/* Assuming a File system is attached to letter 'A'
|
||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
||||
lv_img_set_src(wp, "A:lvgl/examples/libs/sjpg/small_image.sjpg");
|
||||
wp = lv_img_create(lv_scr_act());
|
||||
/* Assuming a File system is attached to letter 'A'
|
||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
||||
lv_img_set_src(wp, "A:lvgl/examples/libs/sjpg/small_image.sjpg");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,39 +6,41 @@
|
||||
|
||||
#if LV_USE_FRAGMENT && LV_BUILD_EXAMPLES
|
||||
|
||||
static void sample_fragment_ctor(lv_fragment_t *self, void *args);
|
||||
static void sample_fragment_ctor(lv_fragment_t * self, void * args);
|
||||
|
||||
static lv_obj_t *sample_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent);
|
||||
static lv_obj_t * sample_fragment_create_obj(lv_fragment_t * self, lv_obj_t * parent);
|
||||
|
||||
static lv_obj_t * root = NULL;
|
||||
|
||||
struct sample_fragment_t {
|
||||
lv_fragment_t base;
|
||||
const char *name;
|
||||
const char * name;
|
||||
};
|
||||
|
||||
static const lv_fragment_class_t sample_cls = {
|
||||
.constructor_cb = sample_fragment_ctor,
|
||||
.create_obj_cb = sample_fragment_create_obj,
|
||||
.instance_size = sizeof(struct sample_fragment_t)
|
||||
.constructor_cb = sample_fragment_ctor,
|
||||
.create_obj_cb = sample_fragment_create_obj,
|
||||
.instance_size = sizeof(struct sample_fragment_t)
|
||||
};
|
||||
|
||||
void lv_example_fragment_1(void)
|
||||
{
|
||||
root = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(root, LV_PCT(100), LV_PCT(100));
|
||||
lv_fragment_manager_t *manager = lv_fragment_manager_create(NULL);
|
||||
lv_fragment_t *fragment = lv_fragment_create(&sample_cls, "Fragment");
|
||||
lv_fragment_manager_t * manager = lv_fragment_manager_create(NULL);
|
||||
lv_fragment_t * fragment = lv_fragment_create(&sample_cls, "Fragment");
|
||||
lv_fragment_manager_replace(manager, fragment, &root);
|
||||
}
|
||||
|
||||
|
||||
static void sample_fragment_ctor(lv_fragment_t *self, void *args) {
|
||||
static void sample_fragment_ctor(lv_fragment_t * self, void * args)
|
||||
{
|
||||
((struct sample_fragment_t *) self)->name = args;
|
||||
}
|
||||
|
||||
static lv_obj_t *sample_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent) {
|
||||
lv_obj_t *label = lv_label_create(parent);
|
||||
static lv_obj_t * sample_fragment_create_obj(lv_fragment_t * self, lv_obj_t * parent)
|
||||
{
|
||||
lv_obj_t * label = lv_label_create(parent);
|
||||
lv_obj_set_style_bg_opa(label, LV_OPA_COVER, 0);;
|
||||
lv_label_set_text_fmt(label, "Hello, %s!", ((struct sample_fragment_t *) self)->name);
|
||||
return label;
|
||||
|
||||
@@ -6,34 +6,34 @@
|
||||
|
||||
#if LV_USE_FRAGMENT && LV_USE_WIN && LV_BUILD_EXAMPLES
|
||||
|
||||
static void sample_fragment_ctor(lv_fragment_t *self, void *args);
|
||||
static void sample_fragment_ctor(lv_fragment_t * self, void * args);
|
||||
|
||||
static lv_obj_t *sample_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent);
|
||||
static lv_obj_t * sample_fragment_create_obj(lv_fragment_t * self, lv_obj_t * parent);
|
||||
|
||||
static void sample_push_click(lv_event_t *e);
|
||||
static void sample_push_click(lv_event_t * e);
|
||||
|
||||
static void sample_pop_click(lv_event_t *e);
|
||||
static void sample_pop_click(lv_event_t * e);
|
||||
|
||||
static void sample_fragment_inc_click(lv_event_t *e);
|
||||
static void sample_fragment_inc_click(lv_event_t * e);
|
||||
|
||||
typedef struct sample_fragment_t {
|
||||
lv_fragment_t base;
|
||||
lv_obj_t *label;
|
||||
lv_obj_t * label;
|
||||
int depth;
|
||||
int counter;
|
||||
} sample_fragment_t;
|
||||
|
||||
static const lv_fragment_class_t sample_cls = {
|
||||
.constructor_cb = sample_fragment_ctor,
|
||||
.create_obj_cb = sample_fragment_create_obj,
|
||||
.instance_size = sizeof(sample_fragment_t)
|
||||
.constructor_cb = sample_fragment_ctor,
|
||||
.create_obj_cb = sample_fragment_create_obj,
|
||||
.instance_size = sizeof(sample_fragment_t)
|
||||
};
|
||||
|
||||
static lv_obj_t *container = NULL;
|
||||
static lv_obj_t * container = NULL;
|
||||
|
||||
void lv_example_fragment_2(void)
|
||||
{
|
||||
lv_obj_t *root = lv_obj_create(lv_scr_act());
|
||||
lv_obj_t * root = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(root, LV_PCT(100), LV_PCT(100));
|
||||
lv_obj_set_layout(root, LV_LAYOUT_GRID);
|
||||
static const lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
|
||||
@@ -43,67 +43,72 @@ void lv_example_fragment_2(void)
|
||||
lv_obj_remove_style_all(container);
|
||||
lv_obj_set_grid_cell(container, LV_GRID_ALIGN_STRETCH, 0, 2, LV_GRID_ALIGN_STRETCH, 0, 1);
|
||||
|
||||
lv_obj_t *push_btn = lv_btn_create(root);
|
||||
lv_obj_t *push_label = lv_label_create(push_btn);
|
||||
lv_obj_t * push_btn = lv_btn_create(root);
|
||||
lv_obj_t * push_label = lv_label_create(push_btn);
|
||||
lv_label_set_text(push_label, "Push");
|
||||
|
||||
lv_obj_t *pop_btn = lv_btn_create(root);
|
||||
lv_obj_t *pop_label = lv_label_create(pop_btn);
|
||||
lv_obj_t * pop_btn = lv_btn_create(root);
|
||||
lv_obj_t * pop_label = lv_label_create(pop_btn);
|
||||
lv_label_set_text(pop_label, "Pop");
|
||||
lv_obj_set_grid_cell(push_btn, LV_GRID_ALIGN_START, 0, 1, LV_GRID_ALIGN_CENTER, 1, 1);
|
||||
lv_obj_set_grid_cell(pop_btn, LV_GRID_ALIGN_END, 1, 1, LV_GRID_ALIGN_CENTER, 1, 1);
|
||||
|
||||
lv_fragment_manager_t *manager = lv_fragment_manager_create(NULL);
|
||||
lv_fragment_manager_t * manager = lv_fragment_manager_create(NULL);
|
||||
int depth = 0;
|
||||
lv_fragment_t *fragment = lv_fragment_create(&sample_cls, &depth);
|
||||
lv_fragment_t * fragment = lv_fragment_create(&sample_cls, &depth);
|
||||
lv_fragment_manager_push(manager, fragment, &container);
|
||||
lv_obj_add_event_cb(push_btn, sample_push_click, LV_EVENT_CLICKED, manager);
|
||||
lv_obj_add_event_cb(pop_btn, sample_pop_click, LV_EVENT_CLICKED, manager);
|
||||
}
|
||||
|
||||
|
||||
static void sample_fragment_ctor(lv_fragment_t *self, void *args) {
|
||||
static void sample_fragment_ctor(lv_fragment_t * self, void * args)
|
||||
{
|
||||
LV_UNUSED(args);
|
||||
((sample_fragment_t *) self)->depth = *((int *) args);
|
||||
((sample_fragment_t *) self)->counter = 0;
|
||||
}
|
||||
|
||||
static lv_obj_t *sample_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent) {
|
||||
sample_fragment_t *fragment = (sample_fragment_t *) self;
|
||||
lv_obj_t *content = lv_obj_create(parent);
|
||||
static lv_obj_t * sample_fragment_create_obj(lv_fragment_t * self, lv_obj_t * parent)
|
||||
{
|
||||
sample_fragment_t * fragment = (sample_fragment_t *) self;
|
||||
lv_obj_t * content = lv_obj_create(parent);
|
||||
lv_obj_remove_style_all(content);
|
||||
lv_obj_set_style_bg_opa(content, LV_OPA_50, 0);
|
||||
lv_obj_set_style_bg_color(content, lv_palette_main(LV_PALETTE_YELLOW), 0);
|
||||
lv_obj_set_size(content, LV_PCT(100), LV_PCT(100));
|
||||
lv_obj_set_flex_flow(content, LV_FLEX_FLOW_COLUMN);
|
||||
lv_obj_t *depth = lv_label_create(content);
|
||||
lv_obj_t * depth = lv_label_create(content);
|
||||
lv_label_set_text_fmt(depth, "Depth: %d", fragment->depth);
|
||||
lv_obj_t *label = lv_label_create(content);
|
||||
lv_obj_t * label = lv_label_create(content);
|
||||
fragment->label = label;
|
||||
lv_label_set_text_fmt(label, "The button has been pressed %d times", fragment->counter);
|
||||
|
||||
lv_obj_t *inc_btn = lv_btn_create(content);
|
||||
lv_obj_t *inc_label = lv_label_create(inc_btn);
|
||||
lv_obj_t * inc_btn = lv_btn_create(content);
|
||||
lv_obj_t * inc_label = lv_label_create(inc_btn);
|
||||
lv_label_set_text(inc_label, "+1");
|
||||
lv_obj_add_event_cb(inc_btn, sample_fragment_inc_click, LV_EVENT_CLICKED, fragment);
|
||||
|
||||
return content;
|
||||
}
|
||||
|
||||
static void sample_push_click(lv_event_t *e) {
|
||||
lv_fragment_manager_t *manager = (lv_fragment_manager_t *) lv_event_get_user_data(e);
|
||||
static void sample_push_click(lv_event_t * e)
|
||||
{
|
||||
lv_fragment_manager_t * manager = (lv_fragment_manager_t *) lv_event_get_user_data(e);
|
||||
size_t stack_size = lv_fragment_manager_get_stack_size(manager);
|
||||
lv_fragment_t *fragment = lv_fragment_create(&sample_cls, &stack_size);
|
||||
lv_fragment_t * fragment = lv_fragment_create(&sample_cls, &stack_size);
|
||||
lv_fragment_manager_push(manager, fragment, &container);
|
||||
}
|
||||
|
||||
static void sample_pop_click(lv_event_t *e) {
|
||||
lv_fragment_manager_t *manager = (lv_fragment_manager_t *) lv_event_get_user_data(e);
|
||||
static void sample_pop_click(lv_event_t * e)
|
||||
{
|
||||
lv_fragment_manager_t * manager = (lv_fragment_manager_t *) lv_event_get_user_data(e);
|
||||
lv_fragment_manager_pop(manager);
|
||||
}
|
||||
|
||||
static void sample_fragment_inc_click(lv_event_t *e) {
|
||||
sample_fragment_t *fragment = (sample_fragment_t *) lv_event_get_user_data(e);
|
||||
static void sample_fragment_inc_click(lv_event_t * e)
|
||||
{
|
||||
sample_fragment_t * fragment = (sample_fragment_t *) lv_event_get_user_data(e);
|
||||
fragment->counter++;
|
||||
lv_label_set_text_fmt(fragment->label, "The button has been pressed %d times", fragment->counter);
|
||||
}
|
||||
|
||||
@@ -55,16 +55,16 @@ void lv_example_gridnav_3(void)
|
||||
lv_obj_set_style_bg_color(cont_sub1, lv_palette_lighten(LV_PALETTE_RED, 5), LV_STATE_FOCUSED);
|
||||
lv_obj_set_width(label, lv_pct(100));
|
||||
lv_label_set_text(label,
|
||||
"I'm a very long text which is makes my container scrollable. "
|
||||
"As LV_GRIDNAV_FLAG_SCROLL_FIRST is enabled arrow will scroll me first "
|
||||
"and a new objects will be focused only when an edge is reached with the scrolling.\n\n"
|
||||
"This is only some placeholder text to be sure the parent will be scrollable. \n\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!");
|
||||
"I'm a very long text which is makes my container scrollable. "
|
||||
"As LV_GRIDNAV_FLAG_SCROLL_FIRST is enabled arrow will scroll me first "
|
||||
"and a new objects will be focused only when an edge is reached with the scrolling.\n\n"
|
||||
"This is only some placeholder text to be sure the parent will be scrollable. \n\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!\n"
|
||||
"Hello world!");
|
||||
|
||||
/*Create a third container that can be focused with ENTER and contains an other grid nav*/
|
||||
lv_obj_t * cont_sub2 = lv_obj_create(cont_main);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_SNAPSHOT && LV_BUILD_EXAMPLES
|
||||
|
||||
static void event_cb(lv_event_t* e)
|
||||
static void event_cb(lv_event_t * e)
|
||||
{
|
||||
lv_obj_t * snapshot_obj = lv_event_get_user_data(e);
|
||||
lv_obj_t * img = lv_event_get_target(e);
|
||||
|
||||
if(snapshot_obj) {
|
||||
lv_img_dsc_t* snapshot = (void*)lv_img_get_src(snapshot_obj);
|
||||
if(snapshot){
|
||||
lv_img_dsc_t * snapshot = (void *)lv_img_get_src(snapshot_obj);
|
||||
if(snapshot) {
|
||||
lv_snapshot_free(snapshot);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*Copy this file as "lv_port_disp.c" and set this value to "1" to enable content*/
|
||||
/*Copy this file as "lv_port_disp.c" and set this value to "1" to enable content*/
|
||||
#if 0
|
||||
|
||||
/*********************
|
||||
@@ -88,7 +88,8 @@ void lv_port_disp_init(void)
|
||||
static lv_disp_draw_buf_t draw_buf_dsc_3;
|
||||
static lv_color_t buf_3_1[MY_DISP_HOR_RES * MY_DISP_VER_RES]; /*A screen sized buffer*/
|
||||
static lv_color_t buf_3_2[MY_DISP_HOR_RES * MY_DISP_VER_RES]; /*Another screen sized buffer*/
|
||||
lv_disp_draw_buf_init(&draw_buf_dsc_3, buf_3_1, buf_3_2, MY_DISP_VER_RES * LV_VER_RES_MAX); /*Initialize the display buffer*/
|
||||
lv_disp_draw_buf_init(&draw_buf_dsc_3, buf_3_1, buf_3_2,
|
||||
MY_DISP_VER_RES * LV_VER_RES_MAX); /*Initialize the display buffer*/
|
||||
|
||||
/*-----------------------------------
|
||||
* Register the display in LVGL
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*Copy this file as "lv_port_disp.h" and set this value to "1" to enable content*/
|
||||
/*Copy this file as "lv_port_disp.h" and set this value to "1" to enable content*/
|
||||
#if 0
|
||||
|
||||
#ifndef LV_PORT_DISP_TEMPL_H
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*Copy this file as "lv_port_fs.c" and set this value to "1" to enable content*/
|
||||
/*Copy this file as "lv_port_fs.c" and set this value to "1" to enable content*/
|
||||
#if 0
|
||||
|
||||
/*********************
|
||||
@@ -33,7 +33,7 @@ static lv_fs_res_t fs_seek(lv_fs_drv_t * drv, void * file_p, uint32_t pos, lv_fs
|
||||
static lv_fs_res_t fs_size(lv_fs_drv_t * drv, void * file_p, uint32_t * size_p);
|
||||
static lv_fs_res_t fs_tell(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p);
|
||||
|
||||
static void * fs_dir_open(lv_fs_drv_t * drv, const char *path);
|
||||
static void * fs_dir_open(lv_fs_drv_t * drv, const char * path);
|
||||
static lv_fs_res_t fs_dir_read(lv_fs_drv_t * drv, void * rddir_p, char * fn);
|
||||
static lv_fs_res_t fs_dir_close(lv_fs_drv_t * drv, void * rddir_p);
|
||||
|
||||
@@ -109,18 +109,15 @@ static void * fs_open(lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode)
|
||||
|
||||
void * f = NULL;
|
||||
|
||||
if(mode == LV_FS_MODE_WR)
|
||||
{
|
||||
if(mode == LV_FS_MODE_WR) {
|
||||
/*Open a file for write*/
|
||||
f = ... /*Add your code here*/
|
||||
}
|
||||
else if(mode == LV_FS_MODE_RD)
|
||||
{
|
||||
else if(mode == LV_FS_MODE_RD) {
|
||||
/*Open a file for read*/
|
||||
f = ... /*Add your code here*/
|
||||
}
|
||||
else if(mode == (LV_FS_MODE_WR | LV_FS_MODE_RD))
|
||||
{
|
||||
else if(mode == (LV_FS_MODE_WR | LV_FS_MODE_RD)) {
|
||||
/*Open a file for read and write*/
|
||||
f = ... /*Add your code here*/
|
||||
}
|
||||
@@ -217,12 +214,12 @@ static lv_fs_res_t fs_tell(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p)
|
||||
* @param path path to a directory
|
||||
* @return pointer to the directory read descriptor or NULL on error
|
||||
*/
|
||||
static void * fs_dir_open(lv_fs_drv_t * drv, const char *path)
|
||||
static void * fs_dir_open(lv_fs_drv_t * drv, const char * path)
|
||||
{
|
||||
void * dir = NULL;
|
||||
/*Add your code here*/
|
||||
dir = ... /*Add your code here*/
|
||||
return dir;
|
||||
return dir;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -233,7 +230,7 @@ static void * fs_dir_open(lv_fs_drv_t * drv, const char *path)
|
||||
* @param fn pointer to a buffer to store the filename
|
||||
* @return LV_FS_RES_OK: no error or any error from @lv_fs_res_t enum
|
||||
*/
|
||||
static lv_fs_res_t fs_dir_read(lv_fs_drv_t * drv, void * rddir_p, char *fn)
|
||||
static lv_fs_res_t fs_dir_read(lv_fs_drv_t * drv, void * rddir_p, char * fn)
|
||||
{
|
||||
lv_fs_res_t res = LV_FS_RES_NOT_IMP;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*Copy this file as "lv_port_fs.h" and set this value to "1" to enable content*/
|
||||
/*Copy this file as "lv_port_fs.h" and set this value to "1" to enable content*/
|
||||
#if 0
|
||||
|
||||
#ifndef LV_PORT_FS_TEMPL_H
|
||||
@@ -29,7 +29,7 @@ extern "C" {
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_port_fs_init(void);
|
||||
void lv_port_fs_init(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*Copy this file as "lv_port_indev.c" and set this value to "1" to enable content*/
|
||||
/*Copy this file as "lv_port_indev.c" and set this value to "1" to enable content*/
|
||||
#if 0
|
||||
|
||||
/*********************
|
||||
@@ -165,8 +165,8 @@ void lv_port_indev_init(void)
|
||||
|
||||
/*Assign buttons to points on the screen*/
|
||||
static const lv_point_t btn_points[2] = {
|
||||
{10, 10}, /*Button 0 -> x:10; y:10*/
|
||||
{40, 100}, /*Button 1 -> x:40; y:100*/
|
||||
{10, 10}, /*Button 0 -> x:10; y:10*/
|
||||
{40, 100}, /*Button 1 -> x:40; y:100*/
|
||||
};
|
||||
lv_indev_set_button_points(indev_button, btn_points);
|
||||
}
|
||||
@@ -195,7 +195,8 @@ static void touchpad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
|
||||
if(touchpad_is_pressed()) {
|
||||
touchpad_get_xy(&last_x, &last_y);
|
||||
data->state = LV_INDEV_STATE_PR;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
data->state = LV_INDEV_STATE_REL;
|
||||
}
|
||||
|
||||
@@ -240,7 +241,8 @@ static void mouse_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
|
||||
/*Get whether the mouse button is pressed or released*/
|
||||
if(mouse_is_pressed()) {
|
||||
data->state = LV_INDEV_STATE_PR;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
data->state = LV_INDEV_STATE_REL;
|
||||
}
|
||||
}
|
||||
@@ -287,25 +289,26 @@ static void keypad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
|
||||
|
||||
/*Translate the keys to LVGL control characters according to your key definitions*/
|
||||
switch(act_key) {
|
||||
case 1:
|
||||
act_key = LV_KEY_NEXT;
|
||||
break;
|
||||
case 2:
|
||||
act_key = LV_KEY_PREV;
|
||||
break;
|
||||
case 3:
|
||||
act_key = LV_KEY_LEFT;
|
||||
break;
|
||||
case 4:
|
||||
act_key = LV_KEY_RIGHT;
|
||||
break;
|
||||
case 5:
|
||||
act_key = LV_KEY_ENTER;
|
||||
break;
|
||||
case 1:
|
||||
act_key = LV_KEY_NEXT;
|
||||
break;
|
||||
case 2:
|
||||
act_key = LV_KEY_PREV;
|
||||
break;
|
||||
case 3:
|
||||
act_key = LV_KEY_LEFT;
|
||||
break;
|
||||
case 4:
|
||||
act_key = LV_KEY_RIGHT;
|
||||
break;
|
||||
case 5:
|
||||
act_key = LV_KEY_ENTER;
|
||||
break;
|
||||
}
|
||||
|
||||
last_key = act_key;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
data->state = LV_INDEV_STATE_REL;
|
||||
}
|
||||
|
||||
@@ -369,7 +372,8 @@ static void button_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
|
||||
if(btn_act >= 0) {
|
||||
data->state = LV_INDEV_STATE_PR;
|
||||
last_btn = btn_act;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
data->state = LV_INDEV_STATE_REL;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*Copy this file as "lv_port_indev.h" and set this value to "1" to enable content*/
|
||||
/*Copy this file as "lv_port_indev.h" and set this value to "1" to enable content*/
|
||||
#if 0
|
||||
|
||||
#ifndef LV_PORT_INDEV_TEMPL_H
|
||||
|
||||
@@ -34,7 +34,8 @@ void lv_example_scroll_2(void)
|
||||
if(i == 3) {
|
||||
lv_label_set_text_fmt(label, "Panel %"LV_PRIu32"\nno snap", i);
|
||||
lv_obj_clear_flag(btn, LV_OBJ_FLAG_SNAPPABLE);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lv_label_set_text_fmt(label, "Panel %"LV_PRIu32, i);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,20 +13,20 @@ void lv_example_scroll_4(void)
|
||||
|
||||
lv_obj_t * label = lv_label_create(obj);
|
||||
lv_label_set_text(label,
|
||||
"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
||||
"Etiam dictum, tortor vestibulum lacinia laoreet, mi neque consectetur neque, vel mattis odio dolor egestas ligula. \n"
|
||||
"Sed vestibulum sapien nulla, id convallis ex porttitor nec. \n"
|
||||
"Duis et massa eu libero accumsan faucibus a in arcu. \n"
|
||||
"Ut pulvinar odio lorem, vel tempus turpis condimentum quis. Nam consectetur condimentum sem in auctor. \n"
|
||||
"Sed nisl augue, venenatis in blandit et, gravida ac tortor. \n"
|
||||
"Etiam dapibus elementum suscipit. \n"
|
||||
"Proin mollis sollicitudin convallis. \n"
|
||||
"Integer dapibus tempus arcu nec viverra. \n"
|
||||
"Donec molestie nulla enim, eu interdum velit placerat quis. \n"
|
||||
"Donec id efficitur risus, at molestie turpis. \n"
|
||||
"Suspendisse vestibulum consectetur nunc ut commodo. \n"
|
||||
"Fusce molestie rhoncus nisi sit amet tincidunt. \n"
|
||||
"Suspendisse a nunc ut magna ornare volutpat.");
|
||||
"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
||||
"Etiam dictum, tortor vestibulum lacinia laoreet, mi neque consectetur neque, vel mattis odio dolor egestas ligula. \n"
|
||||
"Sed vestibulum sapien nulla, id convallis ex porttitor nec. \n"
|
||||
"Duis et massa eu libero accumsan faucibus a in arcu. \n"
|
||||
"Ut pulvinar odio lorem, vel tempus turpis condimentum quis. Nam consectetur condimentum sem in auctor. \n"
|
||||
"Sed nisl augue, venenatis in blandit et, gravida ac tortor. \n"
|
||||
"Etiam dapibus elementum suscipit. \n"
|
||||
"Proin mollis sollicitudin convallis. \n"
|
||||
"Integer dapibus tempus arcu nec viverra. \n"
|
||||
"Donec molestie nulla enim, eu interdum velit placerat quis. \n"
|
||||
"Donec id efficitur risus, at molestie turpis. \n"
|
||||
"Suspendisse vestibulum consectetur nunc ut commodo. \n"
|
||||
"Fusce molestie rhoncus nisi sit amet tincidunt. \n"
|
||||
"Suspendisse a nunc ut magna ornare volutpat.");
|
||||
|
||||
|
||||
/*Remove the style of scrollbar to have clean start*/
|
||||
|
||||
@@ -13,7 +13,8 @@ void lv_example_scroll_5(void)
|
||||
lv_obj_center(obj);
|
||||
|
||||
lv_obj_t * label = lv_label_create(obj);
|
||||
lv_label_set_text(label,"میکروکُنترولر (به انگلیسی: Microcontroller) گونهای ریزپردازنده است که دارای حافظهٔ دسترسی تصادفی (RAM) و حافظهٔ فقطخواندنی (ROM)، تایمر، پورتهای ورودی و خروجی (I/O) و درگاه ترتیبی (Serial Port پورت سریال)، درون خود تراشه است، و میتواند به تنهایی ابزارهای دیگر را کنترل کند. به عبارت دیگر یک میکروکنترلر، مدار مجتمع کوچکی است که از یک CPU کوچک و اجزای دیگری مانند تایمر، درگاههای ورودی و خروجی آنالوگ و دیجیتال و حافظه تشکیل شدهاست.");
|
||||
lv_label_set_text(label,
|
||||
"میکروکُنترولر (به انگلیسی: Microcontroller) گونهای ریزپردازنده است که دارای حافظهٔ دسترسی تصادفی (RAM) و حافظهٔ فقطخواندنی (ROM)، تایمر، پورتهای ورودی و خروجی (I/O) و درگاه ترتیبی (Serial Port پورت سریال)، درون خود تراشه است، و میتواند به تنهایی ابزارهای دیگر را کنترل کند. به عبارت دیگر یک میکروکنترلر، مدار مجتمع کوچکی است که از یک CPU کوچک و اجزای دیگری مانند تایمر، درگاههای ورودی و خروجی آنالوگ و دیجیتال و حافظه تشکیل شدهاست.");
|
||||
lv_obj_set_width(label, 400);
|
||||
lv_obj_set_style_text_font(label, &lv_font_dejavu_16_persian_hebrew, 0);
|
||||
|
||||
|
||||
@@ -27,7 +27,8 @@ static void scroll_event_cb(lv_event_t * e)
|
||||
/*If diff_y is out of the circle use the last point of the circle (the radius)*/
|
||||
if(diff_y >= r) {
|
||||
x = r;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
/*Use Pythagoras theorem to get x from radius and y*/
|
||||
uint32_t x_sqr = r * r - diff_y * diff_y;
|
||||
lv_sqrt_res_t res;
|
||||
|
||||
@@ -6,26 +6,26 @@
|
||||
*/
|
||||
void lv_example_style_1(void)
|
||||
{
|
||||
static lv_style_t style;
|
||||
lv_style_init(&style);
|
||||
lv_style_set_radius(&style, 5);
|
||||
static lv_style_t style;
|
||||
lv_style_init(&style);
|
||||
lv_style_set_radius(&style, 5);
|
||||
|
||||
/*Make a gradient*/
|
||||
lv_style_set_width(&style, 150);
|
||||
lv_style_set_height(&style, LV_SIZE_CONTENT);
|
||||
/*Make a gradient*/
|
||||
lv_style_set_width(&style, 150);
|
||||
lv_style_set_height(&style, LV_SIZE_CONTENT);
|
||||
|
||||
lv_style_set_pad_ver(&style, 20);
|
||||
lv_style_set_pad_left(&style, 5);
|
||||
lv_style_set_pad_ver(&style, 20);
|
||||
lv_style_set_pad_left(&style, 5);
|
||||
|
||||
lv_style_set_x(&style, lv_pct(50));
|
||||
lv_style_set_y(&style, 80);
|
||||
lv_style_set_x(&style, lv_pct(50));
|
||||
lv_style_set_y(&style, 80);
|
||||
|
||||
/*Create an object with the new style*/
|
||||
lv_obj_t * obj = lv_obj_create(lv_scr_act());
|
||||
lv_obj_add_style(obj, &style, 0);
|
||||
/*Create an object with the new style*/
|
||||
lv_obj_t * obj = lv_obj_create(lv_scr_act());
|
||||
lv_obj_add_style(obj, &style, 0);
|
||||
|
||||
lv_obj_t * label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "Hello");
|
||||
lv_obj_t * label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "Hello");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -16,7 +16,7 @@ void lv_example_style_12(void)
|
||||
lv_obj_add_style(obj, &style, 0);
|
||||
|
||||
/*Overwrite the background color locally*/
|
||||
lv_obj_set_style_bg_color(obj,lv_palette_main(LV_PALETTE_ORANGE), LV_PART_MAIN);
|
||||
lv_obj_set_style_bg_color(obj, lv_palette_main(LV_PALETTE_ORANGE), LV_PART_MAIN);
|
||||
|
||||
lv_obj_center(obj);
|
||||
}
|
||||
|
||||
@@ -17,8 +17,8 @@ void lv_example_style_5(void)
|
||||
/*Add a shadow*/
|
||||
lv_style_set_shadow_width(&style, 55);
|
||||
lv_style_set_shadow_color(&style, lv_palette_main(LV_PALETTE_BLUE));
|
||||
// lv_style_set_shadow_ofs_x(&style, 10);
|
||||
// lv_style_set_shadow_ofs_y(&style, 20);
|
||||
// lv_style_set_shadow_ofs_x(&style, 10);
|
||||
// lv_style_set_shadow_ofs_y(&style, 20);
|
||||
|
||||
/*Create an object with the new style*/
|
||||
lv_obj_t * obj = lv_obj_create(lv_scr_act());
|
||||
|
||||
@@ -25,7 +25,7 @@ void lv_example_style_8(void)
|
||||
lv_obj_t * obj = lv_label_create(lv_scr_act());
|
||||
lv_obj_add_style(obj, &style, 0);
|
||||
lv_label_set_text(obj, "Text of\n"
|
||||
"a label");
|
||||
"a label");
|
||||
|
||||
lv_obj_center(obj);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ LV_IMG_DECLARE(animimg001)
|
||||
LV_IMG_DECLARE(animimg002)
|
||||
LV_IMG_DECLARE(animimg003)
|
||||
|
||||
static const lv_img_dsc_t* anim_imgs[3] = {
|
||||
static const lv_img_dsc_t * anim_imgs[3] = {
|
||||
&animimg001,
|
||||
&animimg002,
|
||||
&animimg003,
|
||||
@@ -14,7 +14,7 @@ void lv_example_animimg_1(void)
|
||||
{
|
||||
lv_obj_t * animimg0 = lv_animimg_create(lv_scr_act());
|
||||
lv_obj_center(animimg0);
|
||||
lv_animimg_set_src(animimg0, (lv_img_dsc_t**) anim_imgs, 3);
|
||||
lv_animimg_set_src(animimg0, (lv_img_dsc_t **) anim_imgs, 3);
|
||||
lv_animimg_set_duration(animimg0, 1000);
|
||||
lv_animimg_set_repeat_count(animimg0, LV_ANIM_REPEAT_INFINITE);
|
||||
lv_animimg_start(animimg0);
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
void lv_example_arc_1(void)
|
||||
{
|
||||
/*Create an Arc*/
|
||||
lv_obj_t * arc = lv_arc_create(lv_scr_act());
|
||||
lv_obj_set_size(arc, 150, 150);
|
||||
lv_arc_set_rotation(arc, 135);
|
||||
lv_arc_set_bg_angles(arc, 0, 270);
|
||||
lv_arc_set_value(arc, 40);
|
||||
lv_obj_center(arc);
|
||||
/*Create an Arc*/
|
||||
lv_obj_t * arc = lv_arc_create(lv_scr_act());
|
||||
lv_obj_set_size(arc, 150, 150);
|
||||
lv_arc_set_rotation(arc, 135);
|
||||
lv_arc_set_bg_angles(arc, 0, 270);
|
||||
lv_arc_set_value(arc, 40);
|
||||
lv_obj_center(arc);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -12,23 +12,23 @@ static void set_angle(void * obj, int32_t v)
|
||||
*/
|
||||
void lv_example_arc_2(void)
|
||||
{
|
||||
/*Create an Arc*/
|
||||
lv_obj_t * arc = lv_arc_create(lv_scr_act());
|
||||
lv_arc_set_rotation(arc, 270);
|
||||
lv_arc_set_bg_angles(arc, 0, 360);
|
||||
lv_obj_remove_style(arc, NULL, LV_PART_KNOB); /*Be sure the knob is not displayed*/
|
||||
lv_obj_clear_flag(arc, LV_OBJ_FLAG_CLICKABLE); /*To not allow adjusting by click*/
|
||||
lv_obj_center(arc);
|
||||
/*Create an Arc*/
|
||||
lv_obj_t * arc = lv_arc_create(lv_scr_act());
|
||||
lv_arc_set_rotation(arc, 270);
|
||||
lv_arc_set_bg_angles(arc, 0, 360);
|
||||
lv_obj_remove_style(arc, NULL, LV_PART_KNOB); /*Be sure the knob is not displayed*/
|
||||
lv_obj_clear_flag(arc, LV_OBJ_FLAG_CLICKABLE); /*To not allow adjusting by click*/
|
||||
lv_obj_center(arc);
|
||||
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, arc);
|
||||
lv_anim_set_exec_cb(&a, set_angle);
|
||||
lv_anim_set_time(&a, 1000);
|
||||
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); /*Just for the demo*/
|
||||
lv_anim_set_repeat_delay(&a, 500);
|
||||
lv_anim_set_values(&a, 0, 100);
|
||||
lv_anim_start(&a);
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, arc);
|
||||
lv_anim_set_exec_cb(&a, set_angle);
|
||||
lv_anim_set_time(&a, 1000);
|
||||
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); /*Just for the demo*/
|
||||
lv_anim_set_repeat_delay(&a, 500);
|
||||
lv_anim_set_values(&a, 0, 100);
|
||||
lv_anim_start(&a);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_BAR && LV_BUILD_EXAMPLES
|
||||
|
||||
static void set_value(void *bar, int32_t v)
|
||||
static void set_value(void * bar, int32_t v)
|
||||
{
|
||||
lv_bar_set_value(bar, v, LV_ANIM_OFF);
|
||||
}
|
||||
@@ -11,7 +11,7 @@ static void event_cb(lv_event_t * e)
|
||||
lv_obj_draw_part_dsc_t * dsc = lv_event_get_param(e);
|
||||
if(dsc->part != LV_PART_INDICATOR) return;
|
||||
|
||||
lv_obj_t * obj= lv_event_get_target(e);
|
||||
lv_obj_t * obj = lv_event_get_target(e);
|
||||
|
||||
lv_draw_label_dsc_t label_dsc;
|
||||
lv_draw_label_dsc_init(&label_dsc);
|
||||
@@ -21,7 +21,8 @@ static void event_cb(lv_event_t * e)
|
||||
lv_snprintf(buf, sizeof(buf), "%d", (int)lv_bar_get_value(obj));
|
||||
|
||||
lv_point_t txt_size;
|
||||
lv_txt_get_size(&txt_size, buf, label_dsc.font, label_dsc.letter_space, label_dsc.line_space, LV_COORD_MAX, label_dsc.flag);
|
||||
lv_txt_get_size(&txt_size, buf, label_dsc.font, label_dsc.letter_space, label_dsc.line_space, LV_COORD_MAX,
|
||||
label_dsc.flag);
|
||||
|
||||
lv_area_t txt_area;
|
||||
/*If the indicator is long enough put the text inside on the right*/
|
||||
|
||||
@@ -8,7 +8,7 @@ void lv_example_btn_3(void)
|
||||
{
|
||||
/*Properties to transition*/
|
||||
static lv_style_prop_t props[] = {
|
||||
LV_STYLE_TRANSFORM_WIDTH, LV_STYLE_TRANSFORM_HEIGHT, LV_STYLE_TEXT_LETTER_SPACE, 0
|
||||
LV_STYLE_TRANSFORM_WIDTH, LV_STYLE_TRANSFORM_HEIGHT, LV_STYLE_TEXT_LETTER_SPACE, 0
|
||||
};
|
||||
|
||||
/*Transition descriptor when going back to the default state.
|
||||
|
||||
@@ -16,7 +16,8 @@ static void event_handler(lv_event_t * e)
|
||||
|
||||
static const char * btnm_map[] = {"1", "2", "3", "4", "5", "\n",
|
||||
"6", "7", "8", "9", "0", "\n",
|
||||
"Action1", "Action2", ""};
|
||||
"Action1", "Action2", ""
|
||||
};
|
||||
|
||||
void lv_example_btnmatrix_1(void)
|
||||
{
|
||||
|
||||
@@ -34,8 +34,8 @@ void lv_example_canvas_2(void)
|
||||
/*Create hole on the canvas*/
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
for( y = 10; y < 30; y++) {
|
||||
for( x = 5; x < 20; x++) {
|
||||
for(y = 10; y < 30; y++) {
|
||||
for(x = 5; x < 20; x++) {
|
||||
lv_canvas_set_px_color(canvas, x, y, c0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,13 +16,15 @@ static void draw_event_cb(lv_event_t * e)
|
||||
|
||||
/*Add a line mask that keeps the area below the line*/
|
||||
lv_draw_mask_line_param_t line_mask_param;
|
||||
lv_draw_mask_line_points_init(&line_mask_param, dsc->p1->x, dsc->p1->y, dsc->p2->x, dsc->p2->y, LV_DRAW_MASK_LINE_SIDE_BOTTOM);
|
||||
lv_draw_mask_line_points_init(&line_mask_param, dsc->p1->x, dsc->p1->y, dsc->p2->x, dsc->p2->y,
|
||||
LV_DRAW_MASK_LINE_SIDE_BOTTOM);
|
||||
int16_t line_mask_id = lv_draw_mask_add(&line_mask_param, NULL);
|
||||
|
||||
/*Add a fade effect: transparent bottom covering top*/
|
||||
lv_coord_t h = lv_obj_get_height(obj);
|
||||
lv_draw_mask_fade_param_t fade_mask_param;
|
||||
lv_draw_mask_fade_init(&fade_mask_param, &obj->coords, LV_OPA_COVER, obj->coords.y1 + h / 8, LV_OPA_TRANSP,obj->coords.y2);
|
||||
lv_draw_mask_fade_init(&fade_mask_param, &obj->coords, LV_OPA_COVER, obj->coords.y1 + h / 8, LV_OPA_TRANSP,
|
||||
obj->coords.y2);
|
||||
int16_t fade_mask_id = lv_draw_mask_add(&fade_mask_param, NULL);
|
||||
|
||||
/*Draw a rectangle that will be affected by the mask*/
|
||||
@@ -77,7 +79,8 @@ static void draw_event_cb(lv_event_t * e)
|
||||
|
||||
if(dsc->id == 1 || dsc->id == 3) {
|
||||
dsc->line_dsc->color = lv_palette_main(LV_PALETTE_GREEN);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
dsc->line_dsc->color = lv_palette_lighten(LV_PALETTE_GREY, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@ void lv_example_chart_3(void)
|
||||
|
||||
/*Add two data series*/
|
||||
lv_chart_series_t * ser1 = lv_chart_add_series(chart, lv_palette_lighten(LV_PALETTE_GREEN, 2), LV_CHART_AXIS_PRIMARY_Y);
|
||||
lv_chart_series_t * ser2 = lv_chart_add_series(chart, lv_palette_darken(LV_PALETTE_GREEN, 2), LV_CHART_AXIS_SECONDARY_Y);
|
||||
lv_chart_series_t * ser2 = lv_chart_add_series(chart, lv_palette_darken(LV_PALETTE_GREEN, 2),
|
||||
LV_CHART_AXIS_SECONDARY_Y);
|
||||
|
||||
/*Set the next points on 'ser1'*/
|
||||
lv_chart_set_next_value(chart, ser1, 31);
|
||||
|
||||
@@ -78,8 +78,8 @@ void lv_example_chart_4(void)
|
||||
lv_chart_series_t * ser2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), LV_CHART_AXIS_PRIMARY_Y);
|
||||
uint32_t i;
|
||||
for(i = 0; i < 10; i++) {
|
||||
lv_chart_set_next_value(chart, ser1, lv_rand(60,90));
|
||||
lv_chart_set_next_value(chart, ser2, lv_rand(10,40));
|
||||
lv_chart_set_next_value(chart, ser1, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart, ser2, lv_rand(10, 40));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,46 +5,46 @@ static lv_obj_t * chart;
|
||||
/* Source: https://github.com/ankur219/ECG-Arrhythmia-classification/blob/642230149583adfae1e4bd26c6f0e1fd8af2be0e/sample.csv*/
|
||||
static const lv_coord_t ecg_sample[] = {
|
||||
-2, 2, 0, -15, -39, -63, -71, -68, -67, -69, -84, -95, -104, -107, -108, -107, -107, -107, -107, -114, -118, -117,
|
||||
-112, -100, -89, -83, -71, -64, -58, -58, -62, -62, -58, -51, -46, -39, -27, -10, 4, 7, 1, -3, 0, 14, 24, 30, 25, 19,
|
||||
13, 7, 12, 15, 18, 21, 13, 6, 9, 8, 17, 19, 13, 11, 11, 11, 23, 30, 37, 34, 25, 14, 15, 19, 28, 31, 26, 23, 25, 31,
|
||||
39, 37, 37, 34, 30, 32, 22, 29, 31, 33, 37, 23, 13, 7, 2, 4, -2, 2, 11, 22, 33, 19, -1, -27, -55, -67, -72, -71, -63,
|
||||
-49, -18, 35, 113, 230, 369, 525, 651, 722, 730, 667, 563, 454, 357, 305, 288, 274, 255, 212, 173, 143, 117, 82, 39,
|
||||
-13, -53, -78, -91, -101, -113, -124, -131, -131, -131, -129, -128, -129, -125, -123, -123, -129, -139, -148, -153,
|
||||
-159, -166, -183, -205, -227, -243, -248, -246, -254, -280, -327, -381, -429, -473, -517, -556, -592, -612, -620,
|
||||
-620, -614, -604, -591, -574, -540, -497, -441, -389, -358, -336, -313, -284, -222, -167, -114, -70, -47, -28, -4, 12,
|
||||
38, 52, 58, 56, 56, 57, 68, 77, 86, 86, 80, 69, 67, 70, 82, 85, 89, 90, 89, 89, 88, 91, 96, 97, 91, 83, 78, 82, 88, 95,
|
||||
96, 105, 106, 110, 102, 100, 96, 98, 97, 101, 98, 99, 100, 107, 113, 119, 115, 110, 96, 85, 73, 64, 69, 76, 79,
|
||||
78, 75, 85, 100, 114, 113, 105, 96, 84, 74, 66, 60, 75, 85, 89, 83, 67, 61, 67, 73, 79, 74, 63, 57, 56, 58, 61, 55,
|
||||
48, 45, 46, 55, 62, 55, 49, 43, 50, 59, 63, 57, 40, 31, 23, 25, 27, 31, 35, 34, 30, 36, 34, 42, 38, 36, 40, 46, 50,
|
||||
47, 32, 30, 32, 52, 67, 73, 71, 63, 54, 53, 45, 41, 28, 13, 3, 1, 4, 4, -8, -23, -32, -31, -19, -5, 3, 9, 13, 19,
|
||||
24, 27, 29, 25, 22, 26, 32, 42, 51, 56, 60, 57, 55, 53, 53, 54, 59, 54, 49, 26, -3, -11, -20, -47, -100, -194, -236,
|
||||
-212, -123, 8, 103, 142, 147, 120, 105, 98, 93, 81, 61, 40, 26, 28, 30, 30, 27, 19, 17, 21, 20, 19, 19, 22, 36, 40,
|
||||
35, 20, 7, 1, 10, 18, 27, 22, 6, -4, -2, 3, 6, -2, -13, -14, -10, -2, 3, 2, -1, -5, -10, -19, -32, -42, -55, -60,
|
||||
-68, -77, -86, -101, -110, -117, -115, -104, -92, -84, -85, -84, -73, -65, -52, -50, -45, -35, -20, -3, 12, 20, 25,
|
||||
26, 28, 28, 30, 28, 25, 28, 33, 42, 42, 36, 23, 9, 0, 1, -4, 1, -4, -4, 1, 5, 9, 9, -3, -1, -18, -50, -108, -190,
|
||||
-272, -340, -408, -446, -537, -643, -777, -894, -920, -853, -697, -461, -251, -60, 58, 103, 129, 139, 155, 170, 173,
|
||||
178, 185, 190, 193, 200, 208, 215, 225, 224, 232, 234, 240, 240, 236, 229, 226, 224, 232, 233, 232, 224, 219, 219,
|
||||
223, 231, 226, 223, 219, 218, 223, 223, 223, 233, 245, 268, 286, 296, 295, 283, 271, 263, 252, 243, 226, 210, 197,
|
||||
186, 171, 152, 133, 117, 114, 110, 107, 96, 80, 63, 48, 40, 38, 34, 28, 15, 2, -7, -11, -14, -18, -29, -37, -44, -50,
|
||||
-58, -63, -61, -52, -50, -48, -61, -59, -58, -54, -47, -52, -62, -61, -64, -54, -52, -59, -69, -76, -76, -69, -67,
|
||||
-74, -78, -81, -80, -73, -65, -57, -53, -51, -47, -35, -27, -22, -22, -24, -21, -17, -13, -10, -11, -13, -20, -20,
|
||||
-12, -2, 7, -1, -12, -16, -13, -2, 2, -4, -5, -2, 9, 19, 19, 14, 11, 13, 19, 21, 20, 18, 19, 19, 19, 16, 15, 13, 14,
|
||||
9, 3, -5, -9, -5, -3, -2, -3, -3, 2, 8, 9, 9, 5, 6, 8, 8, 7, 4, 3, 4, 5, 3, 5, 5, 13, 13, 12, 10, 10, 15, 22, 17,
|
||||
14, 7, 10, 15, 16, 11, 12, 10, 13, 9, -2, -4, -2, 7, 16, 16, 17, 16, 7, -1, -16, -18, -16, -9, -4, -5, -10, -9, -8,
|
||||
-3, -4, -10, -19, -20, -16, -9, -9, -23, -40, -48, -43, -33, -19, -21, -26, -31, -33, -19, 0, 17, 24, 9, -17, -47,
|
||||
-63, -67, -59, -52, -51, -50, -49, -42, -26, -21, -15, -20, -23, -22, -19, -12, -8, 5, 18, 27, 32, 26, 25, 26, 22,
|
||||
23, 17, 14, 17, 21, 25, 2, -45, -121, -196, -226, -200, -118, -9, 73, 126, 131, 114, 87, 60, 42, 29, 26, 34, 35, 34,
|
||||
25, 12, 9, 7, 3, 2, -8, -11, 2, 23, 38, 41, 23, 9, 10, 13, 16, 8, -8, -17, -23, -26, -25, -21, -15, -10, -13, -13,
|
||||
-19, -22, -29, -40, -48, -48, -54, -55, -66, -82, -85, -90, -92, -98, -114, -119, -124, -129, -132, -146, -146, -138,
|
||||
-124, -99, -85, -72, -65, -65, -65, -66, -63, -64, -64, -58, -46, -26, -9, 2, 2, 4, 0, 1, 4, 3, 10, 11, 10, 2, -4,
|
||||
0, 10, 18, 20, 6, 2, -9, -7, -3, -3, -2, -7, -12, -5, 5, 24, 36, 31, 25, 6, 3, 7, 12, 17, 11, 0, -6, -9, -8, -7, -5,
|
||||
-6, -2, -2, -6, -2, 2, 14, 24, 22, 15, 8, 4, 6, 7, 12, 16, 25, 20, 7, -16, -41, -60, -67, -65, -54, -35, -11, 30,
|
||||
84, 175, 302, 455, 603, 707, 743, 714, 625, 519, 414, 337, 300, 281, 263, 239, 197, 163, 136, 109, 77, 34, -18, -50,
|
||||
-66, -74, -79, -92, -107, -117, -127, -129, -135, -139, -141, -155, -159, -167, -171, -169, -174, -175, -178, -191,
|
||||
-202, -223, -235, -243, -237, -240, -256, -298, -345, -393, -432, -475, -518, -565, -596, -619, -623, -623, -614,
|
||||
-599, -583, -559, -524, -477, -425, -383, -357, -331, -301, -252, -198, -143, -96, -57, -29, -8, 10, 31, 45, 60, 65,
|
||||
70, 74, 76, 79, 82, 79, 75, 62,
|
||||
};
|
||||
-112, -100, -89, -83, -71, -64, -58, -58, -62, -62, -58, -51, -46, -39, -27, -10, 4, 7, 1, -3, 0, 14, 24, 30, 25, 19,
|
||||
13, 7, 12, 15, 18, 21, 13, 6, 9, 8, 17, 19, 13, 11, 11, 11, 23, 30, 37, 34, 25, 14, 15, 19, 28, 31, 26, 23, 25, 31,
|
||||
39, 37, 37, 34, 30, 32, 22, 29, 31, 33, 37, 23, 13, 7, 2, 4, -2, 2, 11, 22, 33, 19, -1, -27, -55, -67, -72, -71, -63,
|
||||
-49, -18, 35, 113, 230, 369, 525, 651, 722, 730, 667, 563, 454, 357, 305, 288, 274, 255, 212, 173, 143, 117, 82, 39,
|
||||
-13, -53, -78, -91, -101, -113, -124, -131, -131, -131, -129, -128, -129, -125, -123, -123, -129, -139, -148, -153,
|
||||
-159, -166, -183, -205, -227, -243, -248, -246, -254, -280, -327, -381, -429, -473, -517, -556, -592, -612, -620,
|
||||
-620, -614, -604, -591, -574, -540, -497, -441, -389, -358, -336, -313, -284, -222, -167, -114, -70, -47, -28, -4, 12,
|
||||
38, 52, 58, 56, 56, 57, 68, 77, 86, 86, 80, 69, 67, 70, 82, 85, 89, 90, 89, 89, 88, 91, 96, 97, 91, 83, 78, 82, 88, 95,
|
||||
96, 105, 106, 110, 102, 100, 96, 98, 97, 101, 98, 99, 100, 107, 113, 119, 115, 110, 96, 85, 73, 64, 69, 76, 79,
|
||||
78, 75, 85, 100, 114, 113, 105, 96, 84, 74, 66, 60, 75, 85, 89, 83, 67, 61, 67, 73, 79, 74, 63, 57, 56, 58, 61, 55,
|
||||
48, 45, 46, 55, 62, 55, 49, 43, 50, 59, 63, 57, 40, 31, 23, 25, 27, 31, 35, 34, 30, 36, 34, 42, 38, 36, 40, 46, 50,
|
||||
47, 32, 30, 32, 52, 67, 73, 71, 63, 54, 53, 45, 41, 28, 13, 3, 1, 4, 4, -8, -23, -32, -31, -19, -5, 3, 9, 13, 19,
|
||||
24, 27, 29, 25, 22, 26, 32, 42, 51, 56, 60, 57, 55, 53, 53, 54, 59, 54, 49, 26, -3, -11, -20, -47, -100, -194, -236,
|
||||
-212, -123, 8, 103, 142, 147, 120, 105, 98, 93, 81, 61, 40, 26, 28, 30, 30, 27, 19, 17, 21, 20, 19, 19, 22, 36, 40,
|
||||
35, 20, 7, 1, 10, 18, 27, 22, 6, -4, -2, 3, 6, -2, -13, -14, -10, -2, 3, 2, -1, -5, -10, -19, -32, -42, -55, -60,
|
||||
-68, -77, -86, -101, -110, -117, -115, -104, -92, -84, -85, -84, -73, -65, -52, -50, -45, -35, -20, -3, 12, 20, 25,
|
||||
26, 28, 28, 30, 28, 25, 28, 33, 42, 42, 36, 23, 9, 0, 1, -4, 1, -4, -4, 1, 5, 9, 9, -3, -1, -18, -50, -108, -190,
|
||||
-272, -340, -408, -446, -537, -643, -777, -894, -920, -853, -697, -461, -251, -60, 58, 103, 129, 139, 155, 170, 173,
|
||||
178, 185, 190, 193, 200, 208, 215, 225, 224, 232, 234, 240, 240, 236, 229, 226, 224, 232, 233, 232, 224, 219, 219,
|
||||
223, 231, 226, 223, 219, 218, 223, 223, 223, 233, 245, 268, 286, 296, 295, 283, 271, 263, 252, 243, 226, 210, 197,
|
||||
186, 171, 152, 133, 117, 114, 110, 107, 96, 80, 63, 48, 40, 38, 34, 28, 15, 2, -7, -11, -14, -18, -29, -37, -44, -50,
|
||||
-58, -63, -61, -52, -50, -48, -61, -59, -58, -54, -47, -52, -62, -61, -64, -54, -52, -59, -69, -76, -76, -69, -67,
|
||||
-74, -78, -81, -80, -73, -65, -57, -53, -51, -47, -35, -27, -22, -22, -24, -21, -17, -13, -10, -11, -13, -20, -20,
|
||||
-12, -2, 7, -1, -12, -16, -13, -2, 2, -4, -5, -2, 9, 19, 19, 14, 11, 13, 19, 21, 20, 18, 19, 19, 19, 16, 15, 13, 14,
|
||||
9, 3, -5, -9, -5, -3, -2, -3, -3, 2, 8, 9, 9, 5, 6, 8, 8, 7, 4, 3, 4, 5, 3, 5, 5, 13, 13, 12, 10, 10, 15, 22, 17,
|
||||
14, 7, 10, 15, 16, 11, 12, 10, 13, 9, -2, -4, -2, 7, 16, 16, 17, 16, 7, -1, -16, -18, -16, -9, -4, -5, -10, -9, -8,
|
||||
-3, -4, -10, -19, -20, -16, -9, -9, -23, -40, -48, -43, -33, -19, -21, -26, -31, -33, -19, 0, 17, 24, 9, -17, -47,
|
||||
-63, -67, -59, -52, -51, -50, -49, -42, -26, -21, -15, -20, -23, -22, -19, -12, -8, 5, 18, 27, 32, 26, 25, 26, 22,
|
||||
23, 17, 14, 17, 21, 25, 2, -45, -121, -196, -226, -200, -118, -9, 73, 126, 131, 114, 87, 60, 42, 29, 26, 34, 35, 34,
|
||||
25, 12, 9, 7, 3, 2, -8, -11, 2, 23, 38, 41, 23, 9, 10, 13, 16, 8, -8, -17, -23, -26, -25, -21, -15, -10, -13, -13,
|
||||
-19, -22, -29, -40, -48, -48, -54, -55, -66, -82, -85, -90, -92, -98, -114, -119, -124, -129, -132, -146, -146, -138,
|
||||
-124, -99, -85, -72, -65, -65, -65, -66, -63, -64, -64, -58, -46, -26, -9, 2, 2, 4, 0, 1, 4, 3, 10, 11, 10, 2, -4,
|
||||
0, 10, 18, 20, 6, 2, -9, -7, -3, -3, -2, -7, -12, -5, 5, 24, 36, 31, 25, 6, 3, 7, 12, 17, 11, 0, -6, -9, -8, -7, -5,
|
||||
-6, -2, -2, -6, -2, 2, 14, 24, 22, 15, 8, 4, 6, 7, 12, 16, 25, 20, 7, -16, -41, -60, -67, -65, -54, -35, -11, 30,
|
||||
84, 175, 302, 455, 603, 707, 743, 714, 625, 519, 414, 337, 300, 281, 263, 239, 197, 163, 136, 109, 77, 34, -18, -50,
|
||||
-66, -74, -79, -92, -107, -117, -127, -129, -135, -139, -141, -155, -159, -167, -171, -169, -174, -175, -178, -191,
|
||||
-202, -223, -235, -243, -237, -240, -256, -298, -345, -393, -432, -475, -518, -565, -596, -619, -623, -623, -614,
|
||||
-599, -583, -559, -524, -477, -425, -383, -357, -331, -301, -252, -198, -143, -96, -57, -29, -8, 10, 31, 45, 60, 65,
|
||||
70, 74, 76, 79, 82, 79, 75, 62,
|
||||
};
|
||||
|
||||
static void slider_x_event_cb(lv_event_t * e)
|
||||
{
|
||||
|
||||
@@ -74,7 +74,7 @@ void lv_example_chart_6(void)
|
||||
ser = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_PRIMARY_Y);
|
||||
uint32_t i;
|
||||
for(i = 0; i < 10; i++) {
|
||||
lv_chart_set_next_value(chart, ser, lv_rand(10,90));
|
||||
lv_chart_set_next_value(chart, ser, lv_rand(10, 90));
|
||||
}
|
||||
|
||||
lv_chart_set_zoom_x(chart, 500);
|
||||
|
||||
@@ -21,8 +21,8 @@ static void draw_event_cb(lv_event_t * e)
|
||||
lv_opa_t y_opa = (y_array[p_act] * LV_OPA_50) / 1000;
|
||||
|
||||
dsc->rect_dsc->bg_color = lv_color_mix(lv_palette_main(LV_PALETTE_RED),
|
||||
lv_palette_main(LV_PALETTE_BLUE),
|
||||
x_opa + y_opa);
|
||||
lv_palette_main(LV_PALETTE_BLUE),
|
||||
x_opa + y_opa);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ static void add_data(lv_timer_t * timer)
|
||||
{
|
||||
LV_UNUSED(timer);
|
||||
lv_obj_t * chart = timer->user_data;
|
||||
lv_chart_set_next_value2(chart, lv_chart_get_series_next(chart, NULL), lv_rand(0,200), lv_rand(0,1000));
|
||||
lv_chart_set_next_value2(chart, lv_chart_get_series_next(chart, NULL), lv_rand(0, 200), lv_rand(0, 1000));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
#if LV_USE_CHART && LV_DRAW_COMPLEX && LV_BUILD_EXAMPLES
|
||||
|
||||
/* A struct is used to keep track of the series list because later we need to draw to the series in the reverse order to which they were initialised. */
|
||||
typedef struct
|
||||
{
|
||||
lv_obj_t *obj;
|
||||
lv_chart_series_t *series_list[3];
|
||||
typedef struct {
|
||||
lv_obj_t * obj;
|
||||
lv_chart_series_t * series_list[3];
|
||||
} stacked_area_chart_t;
|
||||
|
||||
static stacked_area_chart_t stacked_area_chart;
|
||||
@@ -13,20 +12,20 @@ static stacked_area_chart_t stacked_area_chart;
|
||||
/**
|
||||
* Callback which draws the blocks of colour under the lines
|
||||
**/
|
||||
static void draw_event_cb(lv_event_t *e)
|
||||
static void draw_event_cb(lv_event_t * e)
|
||||
{
|
||||
lv_obj_t *obj = lv_event_get_target(e);
|
||||
lv_obj_t * obj = lv_event_get_target(e);
|
||||
|
||||
/*Add the faded area before the lines are drawn*/
|
||||
lv_obj_draw_part_dsc_t *dsc = lv_event_get_draw_part_dsc(e);
|
||||
if (dsc->part == LV_PART_ITEMS)
|
||||
{
|
||||
if (!dsc->p1 || !dsc->p2)
|
||||
lv_obj_draw_part_dsc_t * dsc = lv_event_get_draw_part_dsc(e);
|
||||
if(dsc->part == LV_PART_ITEMS) {
|
||||
if(!dsc->p1 || !dsc->p2)
|
||||
return;
|
||||
|
||||
/*Add a line mask that keeps the area below the line*/
|
||||
lv_draw_mask_line_param_t line_mask_param;
|
||||
lv_draw_mask_line_points_init(&line_mask_param, dsc->p1->x, dsc->p1->y, dsc->p2->x, dsc->p2->y, LV_DRAW_MASK_LINE_SIDE_BOTTOM);
|
||||
lv_draw_mask_line_points_init(&line_mask_param, dsc->p1->x, dsc->p1->y, dsc->p2->x, dsc->p2->y,
|
||||
LV_DRAW_MASK_LINE_SIDE_BOTTOM);
|
||||
int16_t line_mask_id = lv_draw_mask_add(&line_mask_param, NULL);
|
||||
|
||||
/*Draw a rectangle that will be affected by the mask*/
|
||||
@@ -39,7 +38,8 @@ static void draw_event_cb(lv_event_t *e)
|
||||
a.x1 = dsc->p1->x;
|
||||
a.x2 = dsc->p2->x;
|
||||
a.y1 = LV_MIN(dsc->p1->y, dsc->p2->y);
|
||||
a.y2 = obj->coords.y2 - 13; /* -13 cuts off where the rectangle draws over the chart margin. Without this an area of 0 doesn't look like 0 */
|
||||
a.y2 = obj->coords.y2 -
|
||||
13; /* -13 cuts off where the rectangle draws over the chart margin. Without this an area of 0 doesn't look like 0 */
|
||||
lv_draw_rect(dsc->draw_ctx, &draw_rect_dsc, &a);
|
||||
|
||||
/*Remove the mask*/
|
||||
@@ -55,8 +55,7 @@ static int32_t round_fixed_point(int32_t n, int8_t shift)
|
||||
{
|
||||
/* Create a bitmask to isolates the decimal part of the fixed point number */
|
||||
int32_t mask = 1;
|
||||
for (int32_t bit_pos = 0; bit_pos < shift; bit_pos++)
|
||||
{
|
||||
for(int32_t bit_pos = 0; bit_pos < shift; bit_pos++) {
|
||||
mask = (mask << 1) + 1;
|
||||
}
|
||||
|
||||
@@ -83,19 +82,21 @@ void lv_example_chart_8(void)
|
||||
lv_obj_add_event_cb(stacked_area_chart.obj, draw_event_cb, LV_EVENT_DRAW_PART_BEGIN, NULL);
|
||||
|
||||
/* Set range to 0 to 100 for percentages. Draw ticks */
|
||||
lv_chart_set_range(stacked_area_chart.obj,LV_CHART_AXIS_PRIMARY_Y,0,100);
|
||||
lv_chart_set_range(stacked_area_chart.obj, LV_CHART_AXIS_PRIMARY_Y, 0, 100);
|
||||
lv_chart_set_axis_tick(stacked_area_chart.obj, LV_CHART_AXIS_PRIMARY_Y, 3, 0, 5, 1, true, 30);
|
||||
|
||||
/*Set point size to 0 so the lines are smooth */
|
||||
lv_obj_set_style_size(stacked_area_chart.obj, 0, LV_PART_INDICATOR);
|
||||
|
||||
/*Add some data series*/
|
||||
stacked_area_chart.series_list[0] = lv_chart_add_series(stacked_area_chart.obj, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_PRIMARY_Y);
|
||||
stacked_area_chart.series_list[1] = lv_chart_add_series(stacked_area_chart.obj, lv_palette_main(LV_PALETTE_BLUE), LV_CHART_AXIS_PRIMARY_Y);
|
||||
stacked_area_chart.series_list[2] = lv_chart_add_series(stacked_area_chart.obj, lv_palette_main(LV_PALETTE_GREEN), LV_CHART_AXIS_PRIMARY_Y);
|
||||
stacked_area_chart.series_list[0] = lv_chart_add_series(stacked_area_chart.obj, lv_palette_main(LV_PALETTE_RED),
|
||||
LV_CHART_AXIS_PRIMARY_Y);
|
||||
stacked_area_chart.series_list[1] = lv_chart_add_series(stacked_area_chart.obj, lv_palette_main(LV_PALETTE_BLUE),
|
||||
LV_CHART_AXIS_PRIMARY_Y);
|
||||
stacked_area_chart.series_list[2] = lv_chart_add_series(stacked_area_chart.obj, lv_palette_main(LV_PALETTE_GREEN),
|
||||
LV_CHART_AXIS_PRIMARY_Y);
|
||||
|
||||
for (int point = 0; point < 10; point++)
|
||||
{
|
||||
for(int point = 0; point < 10; point++) {
|
||||
/* Make some random data */
|
||||
uint32_t vals[3] = {lv_rand(10, 20), lv_rand(20, 30), lv_rand(20, 30)};
|
||||
|
||||
@@ -106,8 +107,7 @@ void lv_example_chart_8(void)
|
||||
uint32_t decimal_sum = 0;
|
||||
|
||||
/* Fixed point cascade rounding ensures percentages add to 100 */
|
||||
for (int32_t series_index = 0; series_index < 3; series_index++)
|
||||
{
|
||||
for(int32_t series_index = 0; series_index < 3; series_index++) {
|
||||
decimal_sum += (((vals[series_index] * 100) << fixed_point_shift) / total);
|
||||
int_sum += (vals[series_index] * 100) / total;
|
||||
|
||||
@@ -120,7 +120,8 @@ void lv_example_chart_8(void)
|
||||
/* Draw to the series in the reverse order to which they were initialised.
|
||||
Without this the higher values will draw on top of the lower ones.
|
||||
This is because the Z-height of a series matches the order it was initialised */
|
||||
lv_chart_set_next_value(stacked_area_chart.obj, stacked_area_chart.series_list[3 - series_index - 1], draw_heights[series_index]);
|
||||
lv_chart_set_next_value(stacked_area_chart.obj, stacked_area_chart.series_list[3 - series_index - 1],
|
||||
draw_heights[series_index]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ void lv_example_checkbox_2(void)
|
||||
lv_obj_set_size(cont1, lv_pct(40), lv_pct(80));
|
||||
lv_obj_add_event_cb(cont1, radio_event_handler, LV_EVENT_CLICKED, &active_index_1);
|
||||
|
||||
for (i = 0;i < 5;i++) {
|
||||
for(i = 0; i < 5; i++) {
|
||||
lv_snprintf(buf, sizeof(buf), "A %d", (int)i + 1);
|
||||
radiobutton_create(cont1, buf);
|
||||
|
||||
@@ -73,7 +73,7 @@ void lv_example_checkbox_2(void)
|
||||
lv_obj_set_x(cont2, lv_pct(50));
|
||||
lv_obj_add_event_cb(cont2, radio_event_handler, LV_EVENT_CLICKED, &active_index_2);
|
||||
|
||||
for (i = 0;i < 3;i++) {
|
||||
for(i = 0; i < 3; i++) {
|
||||
lv_snprintf(buf, sizeof(buf), "B %d", (int)i + 1);
|
||||
radiobutton_create(cont2, buf);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user