A39模拟器
This commit is contained in:
43
MXC-A39/lvgl/examples/layouts/grid/index.rst
Normal file
43
MXC-A39/lvgl/examples/layouts/grid/index.rst
Normal file
@ -0,0 +1,43 @@
|
||||
C
|
||||
^
|
||||
A simple grid
|
||||
"""""""""""""""
|
||||
|
||||
.. lv_example:: layouts/grid/lv_example_grid_1
|
||||
:language: c
|
||||
|
||||
Demonstrate cell placement and span
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: layouts/grid/lv_example_grid_2
|
||||
:language: c
|
||||
|
||||
Demonstrate grid's "free unit"
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: layouts/grid/lv_example_grid_3
|
||||
:language: c
|
||||
|
||||
Demonstrate track placement
|
||||
"""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: layouts/grid/lv_example_grid_4
|
||||
:language: c
|
||||
|
||||
Demonstrate column and row gap
|
||||
""""""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: layouts/grid/lv_example_grid_5
|
||||
:language: c
|
||||
|
||||
Demonstrate RTL direction on grid
|
||||
""""""""""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: layouts/grid/lv_example_grid_6
|
||||
:language: c
|
||||
|
||||
|
||||
MicroPython
|
||||
^^^^^^^^^^^
|
||||
|
||||
No examples yet.
|
43
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid.h
Normal file
43
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid.h
Normal file
@ -0,0 +1,43 @@
|
||||
/**
|
||||
* @file lv_example_grid.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_EXAMPLE_GRID_H
|
||||
#define LV_EXAMPLE_GRID_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_example_grid_1(void);
|
||||
void lv_example_grid_2(void);
|
||||
void lv_example_grid_3(void);
|
||||
void lv_example_grid_4(void);
|
||||
void lv_example_grid_5(void);
|
||||
void lv_example_grid_6(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_EXAMPLE_GRID_H*/
|
40
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_1.c
Normal file
40
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_1.c
Normal file
@ -0,0 +1,40 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_GRID && LV_BUILD_EXAMPLES
|
||||
|
||||
/**
|
||||
* A simple grid
|
||||
*/
|
||||
void lv_example_grid_1(void)
|
||||
{
|
||||
static lv_coord_t col_dsc[] = {70, 70, 70, LV_COORD_MAX};
|
||||
static lv_coord_t row_dsc[] = {50, 50, 50, LV_COORD_MAX};
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_style_grid_column_dsc_array(cont, col_dsc, 0);
|
||||
lv_obj_set_style_grid_row_dsc_array(cont, row_dsc, 0);
|
||||
lv_obj_set_size(cont, 300, 220);
|
||||
lv_obj_center(cont);
|
||||
lv_obj_set_layout(cont, LV_LAYOUT_GRID);
|
||||
|
||||
lv_obj_t * label;
|
||||
lv_obj_t * obj;
|
||||
|
||||
uint32_t i;
|
||||
for(i = 0; i < 9; i++) {
|
||||
uint8_t col = i % 3;
|
||||
uint8_t row = i / 3;
|
||||
|
||||
obj = lv_btn_create(cont);
|
||||
/*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);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "c%d, r%d", col, row);
|
||||
lv_obj_center(label);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
63
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_2.c
Normal file
63
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_2.c
Normal file
@ -0,0 +1,63 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_GRID && LV_BUILD_EXAMPLES
|
||||
|
||||
|
||||
/**
|
||||
* Demonstrate cell placement and span
|
||||
*/
|
||||
void lv_example_grid_2(void)
|
||||
{
|
||||
static lv_coord_t col_dsc[] = {70, 70, 70, LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[] = {50, 50, 50, LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
|
||||
lv_obj_set_size(cont, 300, 220);
|
||||
lv_obj_center(cont);
|
||||
|
||||
lv_obj_t * label;
|
||||
lv_obj_t * obj;
|
||||
|
||||
/*Cell to 0;0 and align to to the start (left/top) horizontally and vertically too*/
|
||||
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);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c0, r0");
|
||||
|
||||
/*Cell to 1;0 and align to to the start (left) horizontally and center vertically too*/
|
||||
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);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c1, r0");
|
||||
|
||||
/*Cell to 2;0 and align to to the start (left) horizontally and end (bottom) vertically too*/
|
||||
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);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c2, r0");
|
||||
|
||||
/*Cell to 1;1 but 2 column wide (span = 2).Set width and height to stretched.*/
|
||||
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);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c1-2, r1");
|
||||
|
||||
/*Cell to 0;1 but 2 rows tall (span = 2).Set width and height to stretched.*/
|
||||
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);
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "c0\nr1-2");
|
||||
}
|
||||
|
||||
#endif
|
44
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_3.c
Normal file
44
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_3.c
Normal file
@ -0,0 +1,44 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_GRID && LV_BUILD_EXAMPLES
|
||||
|
||||
/**
|
||||
* Demonstrate grid's "free unit"
|
||||
*/
|
||||
void lv_example_grid_3(void)
|
||||
{
|
||||
/*Column 1: fix width 60 px
|
||||
*Column 2: 1 unit from the remaining free space
|
||||
*Column 3: 2 unit from the remaining free space*/
|
||||
static lv_coord_t col_dsc[] = {60, LV_GRID_FR(1), LV_GRID_FR(2), LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
/*Row 1: fix width 50 px
|
||||
*Row 2: 1 unit from the remaining free space
|
||||
*Row 3: fix width 50 px*/
|
||||
static lv_coord_t row_dsc[] = {50, LV_GRID_FR(1), 50, LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(cont, 300, 220);
|
||||
lv_obj_center(cont);
|
||||
lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
|
||||
|
||||
lv_obj_t * label;
|
||||
lv_obj_t * obj;
|
||||
uint32_t i;
|
||||
for(i = 0; i < 9; i++) {
|
||||
uint8_t col = i % 3;
|
||||
uint8_t row = i / 3;
|
||||
|
||||
obj = lv_obj_create(cont);
|
||||
/*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);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
lv_obj_center(label);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
41
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_4.c
Normal file
41
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_4.c
Normal file
@ -0,0 +1,41 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_GRID && LV_BUILD_EXAMPLES
|
||||
|
||||
/**
|
||||
* Demonstrate track placement
|
||||
*/
|
||||
void lv_example_grid_4(void)
|
||||
{
|
||||
static lv_coord_t col_dsc[] = {60, 60, 60, LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[] = {45, 45, 45, LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
|
||||
/*Add space between the columns and move the rows to the bottom (end)*/
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_grid_align(cont, LV_GRID_ALIGN_SPACE_BETWEEN, LV_GRID_ALIGN_END);
|
||||
lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
|
||||
lv_obj_set_size(cont, 300, 220);
|
||||
lv_obj_center(cont);
|
||||
|
||||
lv_obj_t * label;
|
||||
lv_obj_t * obj;
|
||||
uint32_t i;
|
||||
for(i = 0; i < 9; i++) {
|
||||
uint8_t col = i % 3;
|
||||
uint8_t row = i / 3;
|
||||
|
||||
obj = lv_obj_create(cont);
|
||||
/*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);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
lv_obj_center(label);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
63
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_5.c
Normal file
63
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_5.c
Normal file
@ -0,0 +1,63 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_GRID && LV_BUILD_EXAMPLES
|
||||
|
||||
static void row_gap_anim(void * obj, int32_t v)
|
||||
{
|
||||
lv_obj_set_style_pad_row(obj, v, 0);
|
||||
}
|
||||
|
||||
static void column_gap_anim(void * obj, int32_t v)
|
||||
{
|
||||
lv_obj_set_style_pad_column(obj, v, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Demonstrate column and row gap
|
||||
*/
|
||||
void lv_example_grid_5(void)
|
||||
{
|
||||
|
||||
/*60x60 cells*/
|
||||
static lv_coord_t col_dsc[] = {60, 60, 60, LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[] = {45, 45, 45, LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(cont, 300, 220);
|
||||
lv_obj_center(cont);
|
||||
lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
|
||||
|
||||
lv_obj_t * label;
|
||||
lv_obj_t * obj;
|
||||
uint32_t i;
|
||||
for(i = 0; i < 9; i++) {
|
||||
uint8_t col = i % 3;
|
||||
uint8_t row = i / 3;
|
||||
|
||||
obj = lv_obj_create(cont);
|
||||
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 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);
|
||||
}
|
||||
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, cont);
|
||||
lv_anim_set_values(&a, 0, 10);
|
||||
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
|
||||
|
||||
lv_anim_set_exec_cb(&a, row_gap_anim);
|
||||
lv_anim_set_time(&a, 500);
|
||||
lv_anim_set_playback_time(&a, 500);
|
||||
lv_anim_start(&a);
|
||||
|
||||
lv_anim_set_exec_cb(&a, column_gap_anim);
|
||||
lv_anim_set_time(&a, 3000);
|
||||
lv_anim_set_playback_time(&a, 3000);
|
||||
lv_anim_start(&a);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
39
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_6.c
Normal file
39
MXC-A39/lvgl/examples/layouts/grid/lv_example_grid_6.c
Normal file
@ -0,0 +1,39 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_GRID && LV_BUILD_EXAMPLES
|
||||
|
||||
/**
|
||||
* Demonstrate RTL direction on grid
|
||||
*/
|
||||
void lv_example_grid_6(void)
|
||||
{
|
||||
|
||||
static lv_coord_t col_dsc[] = {60, 60, 60, LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[] = {45, 45, 45, LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
/*Create a container with grid*/
|
||||
lv_obj_t * cont = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(cont, 300, 220);
|
||||
lv_obj_center(cont);
|
||||
lv_obj_set_style_base_dir(cont, LV_BASE_DIR_RTL, 0);
|
||||
lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);
|
||||
|
||||
lv_obj_t * label;
|
||||
lv_obj_t * obj;
|
||||
uint32_t i;
|
||||
for(i = 0; i < 9; i++) {
|
||||
uint8_t col = i % 3;
|
||||
uint8_t row = i / 3;
|
||||
|
||||
obj = lv_obj_create(cont);
|
||||
/*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);
|
||||
|
||||
label = lv_label_create(obj);
|
||||
lv_label_set_text_fmt(label, "%d,%d", col, row);
|
||||
lv_obj_center(label);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user