mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-28 13:36:27 +08:00
lv_hal_disp: add disp_flush
This commit is contained in:
+16
-2
@@ -119,12 +119,12 @@ lv_disp_t * lv_disp_next(lv_disp_t * disp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fill a rectangular area with a color on the active display
|
* Write the content of the internal buffer (VDB) to the display
|
||||||
* @param x1 left coordinate of the rectangle
|
* @param x1 left coordinate of the rectangle
|
||||||
* @param x2 right coordinate of the rectangle
|
* @param x2 right coordinate of the rectangle
|
||||||
* @param y1 top coordinate of the rectangle
|
* @param y1 top coordinate of the rectangle
|
||||||
* @param y2 bottom coordinate of the rectangle
|
* @param y2 bottom coordinate of the rectangle
|
||||||
* @param color fill color
|
* @param color_p fill color
|
||||||
*/
|
*/
|
||||||
void lv_disp_fill(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t color)
|
void lv_disp_fill(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t color)
|
||||||
{
|
{
|
||||||
@@ -132,6 +132,20 @@ void lv_disp_fill(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t col
|
|||||||
if(active->driver.disp_fill != NULL) active->driver.disp_fill(x1, y1, x2, y2, color);
|
if(active->driver.disp_fill != NULL) active->driver.disp_fill(x1, y1, x2, y2, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill a rectangular area with a color on the active display
|
||||||
|
* @param x1 left coordinate of the rectangle
|
||||||
|
* @param x2 right coordinate of the rectangle
|
||||||
|
* @param y1 top coordinate of the rectangle
|
||||||
|
* @param y2 bottom coordinate of the rectangle
|
||||||
|
* @param color_p pointer to an array of colors
|
||||||
|
*/
|
||||||
|
void lv_disp_flush(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t *color_p)
|
||||||
|
{
|
||||||
|
if(active == NULL) return;
|
||||||
|
if(active->driver.disp_flush != NULL) active->driver.disp_flush(x1, y1, x2, y2, color_p);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Put a color map to a rectangular area on the active display
|
* Put a color map to a rectangular area on the active display
|
||||||
* @param x1 left coordinate of the rectangle
|
* @param x1 left coordinate of the rectangle
|
||||||
|
|||||||
@@ -32,9 +32,19 @@ extern "C" {
|
|||||||
* Display Driver structure to be registered by HAL
|
* Display Driver structure to be registered by HAL
|
||||||
*/
|
*/
|
||||||
typedef struct _disp_drv_t {
|
typedef struct _disp_drv_t {
|
||||||
|
/*Write the internal buffer (VDB) to the display. 'lv_flush_ready()' has to be called when finished*/
|
||||||
|
void (*disp_flush)(int32_t x1, int32_t y1, int32_t x2, int32_t y2, const lv_color_t * color_p);
|
||||||
|
|
||||||
|
/*Fill an area with a color on the display*/
|
||||||
void (*disp_fill)(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t color);
|
void (*disp_fill)(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t color);
|
||||||
|
|
||||||
|
/*Write pixel map (e.g. image) to the display*/
|
||||||
void (*disp_map)(int32_t x1, int32_t y1, int32_t x2, int32_t y2, const lv_color_t * color_p);
|
void (*disp_map)(int32_t x1, int32_t y1, int32_t x2, int32_t y2, const lv_color_t * color_p);
|
||||||
|
|
||||||
|
/*Blend two memories using opacity (GPU only)*/
|
||||||
void (*mem_blend)(lv_color_t * dest, const lv_color_t * src, uint32_t length, lv_opa_t opa);
|
void (*mem_blend)(lv_color_t * dest, const lv_color_t * src, uint32_t length, lv_opa_t opa);
|
||||||
|
|
||||||
|
/*Fill a memory with a color (GPU only)*/
|
||||||
void (*mem_fill)(lv_color_t * dest, uint32_t length, lv_color_t color);
|
void (*mem_fill)(lv_color_t * dest, uint32_t length, lv_color_t color);
|
||||||
} lv_disp_drv_t;
|
} lv_disp_drv_t;
|
||||||
|
|
||||||
@@ -82,6 +92,16 @@ lv_disp_t * lv_disp_get_active(void);
|
|||||||
*/
|
*/
|
||||||
lv_disp_t * lv_disp_next(lv_disp_t * disp);
|
lv_disp_t * lv_disp_next(lv_disp_t * disp);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill a rectangular area with a color on the active display
|
||||||
|
* @param x1 left coordinate of the rectangle
|
||||||
|
* @param x2 right coordinate of the rectangle
|
||||||
|
* @param y1 top coordinate of the rectangle
|
||||||
|
* @param y2 bottom coordinate of the rectangle
|
||||||
|
* @param color_p pointer to an array of colors
|
||||||
|
*/
|
||||||
|
void lv_disp_flush(int32_t x1, int32_t y1, int32_t x2, int32_t y2, lv_color_t *color_p);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fill a rectangular area with a color on the active display
|
* Fill a rectangular area with a color on the active display
|
||||||
* @param x1 left coordinate of the rectangle
|
* @param x1 left coordinate of the rectangle
|
||||||
|
|||||||
+1
-1
@@ -162,7 +162,7 @@ void lv_style_init (void)
|
|||||||
lv_style_btn_rel.body.padding.ver = LV_DPI / 6;
|
lv_style_btn_rel.body.padding.ver = LV_DPI / 6;
|
||||||
lv_style_btn_rel.body.padding.inner = LV_DPI / 10;
|
lv_style_btn_rel.body.padding.inner = LV_DPI / 10;
|
||||||
lv_style_btn_rel.body.border.color = LV_COLOR_MAKE(0x0b, 0x19, 0x28);
|
lv_style_btn_rel.body.border.color = LV_COLOR_MAKE(0x0b, 0x19, 0x28);
|
||||||
lv_style_btn_rel.body.border.width = LV_DPI / 50 >= 1 ? LV_DPI / 50 : 1;
|
lv_style_btn_rel.body.border.width = 1;//LV_DPI / 50 >= 1 ? LV_DPI / 50 : 1;
|
||||||
lv_style_btn_rel.body.border.opa = LV_OPA_70;
|
lv_style_btn_rel.body.border.opa = LV_OPA_70;
|
||||||
lv_style_btn_rel.text.color = LV_COLOR_MAKE(0xff, 0xff, 0xff);
|
lv_style_btn_rel.text.color = LV_COLOR_MAKE(0xff, 0xff, 0xff);
|
||||||
lv_style_btn_rel.body.shadow.color = LV_COLOR_GRAY;
|
lv_style_btn_rel.body.shadow.color = LV_COLOR_GRAY;
|
||||||
|
|||||||
+17
-11
@@ -20,13 +20,12 @@
|
|||||||
/**********************
|
/**********************
|
||||||
* TYPEDEFS
|
* TYPEDEFS
|
||||||
**********************/
|
**********************/
|
||||||
#if LV_VDB_DOUBLE != 0
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
LV_VDB_STATE_FREE = 0,
|
LV_VDB_STATE_FREE = 0,
|
||||||
LV_VDB_STATE_ACTIVE,
|
LV_VDB_STATE_ACTIVE,
|
||||||
LV_VDB_STATE_FLUSH,
|
LV_VDB_STATE_FLUSH,
|
||||||
} lv_vdb_state_t;
|
} lv_vdb_state_t;
|
||||||
#endif
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC PROTOTYPES
|
* STATIC PROTOTYPES
|
||||||
**********************/
|
**********************/
|
||||||
@@ -36,6 +35,7 @@ typedef enum {
|
|||||||
**********************/
|
**********************/
|
||||||
#if LV_VDB_DOUBLE == 0
|
#if LV_VDB_DOUBLE == 0
|
||||||
static lv_vdb_t vdb;
|
static lv_vdb_t vdb;
|
||||||
|
static volatile lv_vdb_state_t vdb_state = LV_VDB_STATE_ACTIVE;
|
||||||
#else
|
#else
|
||||||
static lv_vdb_t vdb[2];
|
static lv_vdb_t vdb[2];
|
||||||
static volatile lv_vdb_state_t vdb_state[2] = {LV_VDB_STATE_FREE, LV_VDB_STATE_FREE};
|
static volatile lv_vdb_state_t vdb_state[2] = {LV_VDB_STATE_FREE, LV_VDB_STATE_FREE};
|
||||||
@@ -51,11 +51,14 @@ static volatile lv_vdb_state_t vdb_state[2] = {LV_VDB_STATE_FREE, LV_VDB_STATE_F
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the 'vdb' variable or allocate one in LV_VDB_DOUBLE mode
|
* Get the 'vdb' variable or allocate one in LV_VDB_DOUBLE mode
|
||||||
* @return pointer to the 'vdb' variable
|
* @return pointer to a 'vdb' variable
|
||||||
*/
|
*/
|
||||||
lv_vdb_t * lv_vdb_get(void)
|
lv_vdb_t * lv_vdb_get(void)
|
||||||
{
|
{
|
||||||
#if LV_VDB_DOUBLE == 0
|
#if LV_VDB_DOUBLE == 0
|
||||||
|
/* Wait until VDB become ACTIVE from FLUSH by the
|
||||||
|
* user call of 'lv_flush_ready()' in display drivers's flush function*/
|
||||||
|
while(vdb_state != LV_VDB_STATE_ACTIVE);
|
||||||
return &vdb;
|
return &vdb;
|
||||||
#else
|
#else
|
||||||
/*If already there is an active do nothing*/
|
/*If already there is an active do nothing*/
|
||||||
@@ -85,9 +88,11 @@ void lv_vdb_flush(void)
|
|||||||
lv_vdb_t * vdb_act = lv_vdb_get();
|
lv_vdb_t * vdb_act = lv_vdb_get();
|
||||||
if(vdb_act == NULL) return;
|
if(vdb_act == NULL) return;
|
||||||
|
|
||||||
#if LV_VDB_DOUBLE != 0
|
#if LV_VDB_DOUBLE == 0
|
||||||
|
vdb_state = LV_VDB_STATE_FLUSH; /*User call to 'lv_flush_ready()' will set to ACTIVE 'disp_flush'*/
|
||||||
|
#else
|
||||||
/* Wait the pending flush before starting this one
|
/* Wait the pending flush before starting this one
|
||||||
* (Don't forget: 'lv_vdb_flush_ready' has to be called when flushing is ready)*/
|
* (Don't forget: 'lv_flush_ready()' has to be called when flushing is ready)*/
|
||||||
while(vdb_state[0] == LV_VDB_STATE_FLUSH || vdb_state[1] == LV_VDB_STATE_FLUSH);
|
while(vdb_state[0] == LV_VDB_STATE_FLUSH || vdb_state[1] == LV_VDB_STATE_FLUSH);
|
||||||
|
|
||||||
/*Turn the active VDB to flushing*/
|
/*Turn the active VDB to flushing*/
|
||||||
@@ -96,7 +101,7 @@ void lv_vdb_flush(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_ANTIALIAS == 0
|
#if LV_ANTIALIAS == 0
|
||||||
lv_disp_map(vdb_act->area.x1, vdb_act->area.y1, vdb_act->area.x2, vdb_act->area.y2, vdb_act->buf);
|
lv_disp_flush(vdb_act->area.x1, vdb_act->area.y1, vdb_act->area.x2, vdb_act->area.y2, vdb_act->buf);
|
||||||
#else
|
#else
|
||||||
/* Get the average of 2x2 pixels and put the result back to the VDB
|
/* Get the average of 2x2 pixels and put the result back to the VDB
|
||||||
* The reading goes much faster then the write back
|
* The reading goes much faster then the write back
|
||||||
@@ -146,17 +151,18 @@ void lv_vdb_flush(void)
|
|||||||
|
|
||||||
/* Now the full the VDB is filtered and the result is stored in the first quarter of it
|
/* Now the full the VDB is filtered and the result is stored in the first quarter of it
|
||||||
* Write out the filtered map to the display*/
|
* Write out the filtered map to the display*/
|
||||||
lv_disp_map(vdb_act->area.x1 >> 1, vdb_act->area.y1 >> 1, vdb_act->area.x2 >> 1, vdb_act->area.y2 >> 1, vdb_act->buf);
|
lv_disp_flush(vdb_act->area.x1 >> 1, vdb_act->area.y1 >> 1, vdb_act->area.x2 >> 1, vdb_act->area.y2 >> 1, vdb_act->buf);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* In 'LV_VDB_DOUBLE' mode has to be called when the 'disp_map'
|
* Call in the display driver's 'disp_flush' function when the flushing is finished
|
||||||
* is ready with copying the map to a frame buffer.
|
|
||||||
*/
|
*/
|
||||||
void lv_vdb_flush_ready(void)
|
void lv_flush_ready(void)
|
||||||
{
|
{
|
||||||
#if LV_VDB_DOUBLE != 0
|
#if LV_VDB_DOUBLE == 0
|
||||||
|
vdb_state = LV_VDB_STATE_ACTIVE;
|
||||||
|
#else
|
||||||
if(vdb_state[0] == LV_VDB_STATE_FLUSH) vdb_state[0] = LV_VDB_STATE_FREE;
|
if(vdb_state[0] == LV_VDB_STATE_FLUSH) vdb_state[0] = LV_VDB_STATE_FREE;
|
||||||
if(vdb_state[1] == LV_VDB_STATE_FLUSH) vdb_state[1] = LV_VDB_STATE_FREE;
|
if(vdb_state[1] == LV_VDB_STATE_FLUSH) vdb_state[1] = LV_VDB_STATE_FREE;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+2
-2
@@ -40,7 +40,7 @@ typedef struct
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the 'vdb' variable or allocate one in LV_VDB_DOUBLE mode
|
* Get the 'vdb' variable or allocate one in LV_VDB_DOUBLE mode
|
||||||
* @return pointer to the 'vdb' variable
|
* @return pointer to a 'vdb' variable
|
||||||
*/
|
*/
|
||||||
lv_vdb_t * lv_vdb_get(void);
|
lv_vdb_t * lv_vdb_get(void);
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ void lv_vdb_flush(void);
|
|||||||
* In 'LV_VDB_DOUBLE' mode has to be called when 'disp_map()'
|
* In 'LV_VDB_DOUBLE' mode has to be called when 'disp_map()'
|
||||||
* is ready with copying the map to a frame buffer.
|
* is ready with copying the map to a frame buffer.
|
||||||
*/
|
*/
|
||||||
void lv_vdb_flush_ready(void);
|
void lv_flush_ready(void);
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* MACROS
|
* MACROS
|
||||||
|
|||||||
+3
-1
@@ -164,6 +164,7 @@ void lv_btnm_set_map(lv_obj_t * btnm, const char ** map)
|
|||||||
|
|
||||||
lv_coord_t btn_h = max_h - ((line_cnt - 1) * btnms->body.padding.inner);
|
lv_coord_t btn_h = max_h - ((line_cnt - 1) * btnms->body.padding.inner);
|
||||||
btn_h = btn_h / line_cnt;
|
btn_h = btn_h / line_cnt;
|
||||||
|
btn_h --; /*-1 because e.g. height = 100 means 101 pixels (0..100)*/
|
||||||
|
|
||||||
/* Count the units and the buttons in a line
|
/* Count the units and the buttons in a line
|
||||||
* (A button can be 1,2,3... unit wide)*/
|
* (A button can be 1,2,3... unit wide)*/
|
||||||
@@ -198,8 +199,9 @@ void lv_btnm_set_map(lv_obj_t * btnm, const char ** map)
|
|||||||
for(i = 0; i < btn_cnt; i++) {
|
for(i = 0; i < btn_cnt; i++) {
|
||||||
/* one_unit_w = all_unit_w / unit_cnt
|
/* one_unit_w = all_unit_w / unit_cnt
|
||||||
* act_unit_w = one_unit_w * button_width
|
* act_unit_w = one_unit_w * button_width
|
||||||
* do this two operation but the multiply first to divide a greater number */
|
* do this two operations but the multiply first to divide a greater number */
|
||||||
act_unit_w = (all_unit_w * get_button_width(map_p_tmp[i])) / unit_cnt;
|
act_unit_w = (all_unit_w * get_button_width(map_p_tmp[i])) / unit_cnt;
|
||||||
|
act_unit_w --; /*-1 because e.g. width = 100 means 101 pixels (0..100)*/
|
||||||
|
|
||||||
/*Always recalculate act_x because of rounding errors */
|
/*Always recalculate act_x because of rounding errors */
|
||||||
act_x = (unit_act_cnt * all_unit_w) / unit_cnt + i * btnms->body.padding.inner + btnms->body.padding.hor;
|
act_x = (unit_act_cnt * all_unit_w) / unit_cnt + i * btnms->body.padding.inner + btnms->body.padding.hor;
|
||||||
|
|||||||
@@ -1,105 +1,105 @@
|
|||||||
OBJFILES += \
|
CFILES += \
|
||||||
$(LVGL_PATH)/lv_draw/lv_draw_vbasic.o \
|
$(LVGL_PATH)/lv_draw/lv_draw_vbasic.c \
|
||||||
$(LVGL_PATH)/lv_draw/lv_draw.o \
|
$(LVGL_PATH)/lv_draw/lv_draw.c \
|
||||||
$(LVGL_PATH)/lv_draw/lv_draw_rbasic.o \
|
$(LVGL_PATH)/lv_draw/lv_draw_rbasic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_font.o \
|
$(LVGL_PATH)/lv_misc/lv_font.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_circ.o \
|
$(LVGL_PATH)/lv_misc/lv_circ.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_area.o \
|
$(LVGL_PATH)/lv_misc/lv_area.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_task.o \
|
$(LVGL_PATH)/lv_misc/lv_task.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fs.o \
|
$(LVGL_PATH)/lv_misc/lv_fs.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_anim.o \
|
$(LVGL_PATH)/lv_misc/lv_anim.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_latin_ext_a.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_latin_ext_a.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_20_feedback.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_20_feedback.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_cyrillic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_cyrillic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_latin_ext_a.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_latin_ext_a.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_sup.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_sup.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_latin_ext_b.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_latin_ext_b.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_cyrillic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_cyrillic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_cyrillic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_cyrillic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_30_file.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_30_file.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_40_file.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_40_file.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_30_basic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_30_basic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_10_feedback.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_10_feedback.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_60_file.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_60_file.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_sup.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_sup.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_cyrillic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_cyrillic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_latin_ext_a.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_latin_ext_a.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_30_feedback.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_30_feedback.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_latin_ext_a.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_latin_ext_a.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_latin_ext_b.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_latin_ext_b.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_80_file.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_80_file.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_60_feedback.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_60_feedback.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_40_feedback.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_40_feedback.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_cyrillic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_cyrillic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_sup.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60_sup.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_sup.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_sup.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_sup.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_sup.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_10_basic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_10_basic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_cyrillic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30_cyrillic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_60_basic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_60_basic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_latin_ext_a.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_latin_ext_a.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_60.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_sup.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_sup.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_80_feedback.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_80_feedback.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_latin_ext_b.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_20_latin_ext_b.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_20_file.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_20_file.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_30.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_20_basic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_20_basic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_40_basic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_40_basic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_latin_ext_b.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_40_latin_ext_b.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_80_basic.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_80_basic.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_latin_ext_b.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_latin_ext_b.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_10_file.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/symbol_10_file.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_latin_ext_b.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_80_latin_ext_b.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_latin_ext_a.o \
|
$(LVGL_PATH)/lv_misc/lv_fonts/dejavu_10_latin_ext_a.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_mem.o \
|
$(LVGL_PATH)/lv_misc/lv_mem.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_templ.o \
|
$(LVGL_PATH)/lv_misc/lv_templ.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_ll.o \
|
$(LVGL_PATH)/lv_misc/lv_ll.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_color.o \
|
$(LVGL_PATH)/lv_misc/lv_color.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_txt.o \
|
$(LVGL_PATH)/lv_misc/lv_txt.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_ufs.o \
|
$(LVGL_PATH)/lv_misc/lv_ufs.c \
|
||||||
$(LVGL_PATH)/lv_misc/lv_trigo.o \
|
$(LVGL_PATH)/lv_misc/lv_trigo.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_roller.o \
|
$(LVGL_PATH)/lv_objx/lv_roller.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_ddlist.o \
|
$(LVGL_PATH)/lv_objx/lv_ddlist.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_page.o \
|
$(LVGL_PATH)/lv_objx/lv_page.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_list.o \
|
$(LVGL_PATH)/lv_objx/lv_list.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_ta.o \
|
$(LVGL_PATH)/lv_objx/lv_ta.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_tabview.o \
|
$(LVGL_PATH)/lv_objx/lv_tabview.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_btn.o \
|
$(LVGL_PATH)/lv_objx/lv_btn.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_kb.o \
|
$(LVGL_PATH)/lv_objx/lv_kb.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_bar.o \
|
$(LVGL_PATH)/lv_objx/lv_bar.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_lmeter.o \
|
$(LVGL_PATH)/lv_objx/lv_lmeter.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_cb.o \
|
$(LVGL_PATH)/lv_objx/lv_cb.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_slider.o \
|
$(LVGL_PATH)/lv_objx/lv_slider.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_win.o \
|
$(LVGL_PATH)/lv_objx/lv_win.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_label.o \
|
$(LVGL_PATH)/lv_objx/lv_label.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_line.o \
|
$(LVGL_PATH)/lv_objx/lv_line.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_mbox.o \
|
$(LVGL_PATH)/lv_objx/lv_mbox.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_sw.o \
|
$(LVGL_PATH)/lv_objx/lv_sw.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_led.o \
|
$(LVGL_PATH)/lv_objx/lv_led.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_chart.o \
|
$(LVGL_PATH)/lv_objx/lv_chart.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_img.o \
|
$(LVGL_PATH)/lv_objx/lv_img.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_gauge.o \
|
$(LVGL_PATH)/lv_objx/lv_gauge.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_objx_templ.o \
|
$(LVGL_PATH)/lv_objx/lv_objx_templ.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_btnm.o \
|
$(LVGL_PATH)/lv_objx/lv_btnm.c \
|
||||||
$(LVGL_PATH)/lv_objx/lv_cont.o \
|
$(LVGL_PATH)/lv_objx/lv_cont.c \
|
||||||
$(LVGL_PATH)/lv_hal/lv_hal_indev.o \
|
$(LVGL_PATH)/lv_hal/lv_hal_indev.c \
|
||||||
$(LVGL_PATH)/lv_hal/lv_hal_tick.o \
|
$(LVGL_PATH)/lv_hal/lv_hal_tick.c \
|
||||||
$(LVGL_PATH)/lv_hal/lv_hal_disp.o \
|
$(LVGL_PATH)/lv_hal/lv_hal_disp.c \
|
||||||
$(LVGL_PATH)/lv_themes/lv_theme_alien.o \
|
$(LVGL_PATH)/lv_themes/lv_theme_alien.c \
|
||||||
$(LVGL_PATH)/lv_themes/lv_theme_templ.o \
|
$(LVGL_PATH)/lv_themes/lv_theme_templ.c \
|
||||||
$(LVGL_PATH)/lv_themes/lv_theme.o \
|
$(LVGL_PATH)/lv_themes/lv_theme.c \
|
||||||
$(LVGL_PATH)/lv_themes/lv_theme_night.o \
|
$(LVGL_PATH)/lv_themes/lv_theme_night.c \
|
||||||
$(LVGL_PATH)/lv_themes/lv_theme_default.o \
|
$(LVGL_PATH)/lv_themes/lv_theme_default.c \
|
||||||
$(LVGL_PATH)/lv_obj/lv_group.o \
|
$(LVGL_PATH)/lv_obj/lv_group.c \
|
||||||
$(LVGL_PATH)/lv_obj/lv_vdb.o \
|
$(LVGL_PATH)/lv_obj/lv_vdb.c \
|
||||||
$(LVGL_PATH)/lv_obj/lv_obj.o \
|
$(LVGL_PATH)/lv_obj/lv_obj.c \
|
||||||
$(LVGL_PATH)/lv_obj/lv_style.o \
|
$(LVGL_PATH)/lv_obj/lv_style.c \
|
||||||
$(LVGL_PATH)/lv_obj/lv_indev.o \
|
$(LVGL_PATH)/lv_obj/lv_indev.c \
|
||||||
$(LVGL_PATH)/lv_obj/lv_refr.o
|
$(LVGL_PATH)/lv_obj/lv_refr.c
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user