lv_img: check the USE_FSINT and USE_UFS better
This commit is contained in:
@@ -65,13 +65,17 @@ static void point_swap(point_t * p1, point_t * p2);
|
||||
static void (*px_fp)(cord_t x, cord_t y, const area_t * mask_p, color_t color, opa_t opa) = lv_vpx;
|
||||
static void (*fill_fp)(const area_t * cords_p, const area_t * mask_p, color_t color, opa_t opa) = lv_vfill;
|
||||
static void (*letter_fp)(const point_t * pos_p, const area_t * mask_p, const font_t * font_p, uint8_t letter, color_t color, opa_t opa) = lv_vletter;
|
||||
#if USE_FSINT != 0
|
||||
static void (*map_fp)(const area_t * cords_p, const area_t * mask_p, const color_t * map_p, opa_t opa, bool transp, bool upscale, color_t recolor, opa_t recolor_opa) = lv_vmap;
|
||||
#endif
|
||||
#else
|
||||
static void (*px_fp)(cord_t x, cord_t y, const area_t * mask_p, color_t color, opa_t opa) = lv_rpx;
|
||||
static void (*fill_fp)(const area_t * cords_p, const area_t * mask_p, color_t color, opa_t opa) = lv_rfill;
|
||||
static void (*letter_fp)(const point_t * pos_p, const area_t * mask_p, const font_t * font_p, uint8_t letter, color_t color, opa_t opa) = lv_rletter;
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0
|
||||
static void (*map_fp)(const area_t * cords_p, const area_t * mask_p, const color_t * map_p, opa_t opa, bool transp, bool upscale, color_t recolor, opa_t recolor_opa) = lv_rmap;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/**********************
|
||||
@@ -338,6 +342,7 @@ void lv_draw_label(const area_t * cords_p,const area_t * mask_p, const lv_style_
|
||||
}
|
||||
}
|
||||
|
||||
#if USE_FSINT != 0
|
||||
/**
|
||||
* Draw an image
|
||||
* @param cords_p the coordinates of the image
|
||||
@@ -379,14 +384,21 @@ void lv_draw_img(const area_t * cords_p, const area_t * mask_p,
|
||||
if((mask_com.x2 & 0x1) == 0) mask_com.x2 -= 1; /*Can be only odd*/
|
||||
}
|
||||
|
||||
|
||||
bool const_data = false;
|
||||
|
||||
#if USE_UFS != 0
|
||||
/*If the img. data is inside the MCU then do not use FS reading just a pointer*/
|
||||
if(fn[0] == UFS_LETTER) {
|
||||
const_data = true;
|
||||
uint8_t * f_data = ((ufs_file_t*)file.file_d)->ent->data_d;
|
||||
f_data += sizeof(lv_img_raw_header_t);
|
||||
map_fp(cords_p, &mask_com, (void*)f_data , style->opa, header.transp, upscale, style->ccolor, style->img_recolor);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*Read the img. with the FS interface*/
|
||||
else {
|
||||
if(const_data != false) {
|
||||
uint8_t us_shift = 0;
|
||||
uint8_t us_val = 1;
|
||||
if(upscale != false) {
|
||||
@@ -434,7 +446,7 @@ void lv_draw_img(const area_t * cords_p, const area_t * mask_p,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Draw a line
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*********************/
|
||||
#include "lv_conf.h"
|
||||
#include "misc_conf.h"
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0 && USE_UFS != 0
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0
|
||||
|
||||
#include "lv_img.h"
|
||||
#include "../lv_draw/lv_draw.h"
|
||||
@@ -134,11 +134,15 @@ bool lv_img_signal(lv_obj_t * img, lv_signal_t sign, void * param)
|
||||
*/
|
||||
fs_res_t lv_img_create_file(const char * fn, const color_int_t * data)
|
||||
{
|
||||
#if USE_UFS != 0
|
||||
const lv_img_raw_header_t * raw_p = (lv_img_raw_header_t *) data;
|
||||
fs_res_t res;
|
||||
res = ufs_create_const(fn, data, raw_p->w * raw_p->h * sizeof(color_t) + sizeof(lv_img_raw_header_t));
|
||||
|
||||
return res;
|
||||
#else
|
||||
return FS_RES_NOT_EX;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*=====================
|
||||
@@ -156,7 +160,6 @@ void lv_img_set_file(lv_obj_t * img, const char * fn)
|
||||
|
||||
/*Handle normal images*/
|
||||
if(lv_img_is_symbol(fn) == false) {
|
||||
|
||||
fs_file_t file;
|
||||
fs_res_t res;
|
||||
lv_img_raw_header_t header;
|
||||
|
||||
@@ -15,15 +15,7 @@ extern "C" {
|
||||
*********************/
|
||||
#include "lv_conf.h"
|
||||
#include "misc_conf.h"
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0 && USE_UFS != 0
|
||||
|
||||
#if USE_FSINT == 0
|
||||
#error "lv_img: fsint is required. Enable it in misc_conf.h (USE_FSINT 1) "
|
||||
#endif
|
||||
|
||||
#if USE_UFS == 0
|
||||
#error "lv_img: ufs is required. Enable it in misc_conf.h (USE_UFS 1) "
|
||||
#endif
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0
|
||||
|
||||
#include "../lv_obj/lv_obj.h"
|
||||
#include "misc/fs/fsint.h"
|
||||
|
||||
@@ -233,7 +233,7 @@ lv_obj_t * lv_list_add(lv_obj_t * list, const char * img_fn, const char * txt, l
|
||||
if(hpad_tot < ext->page.sb_width) w -= ext->page.sb_width - hpad_tot;
|
||||
}
|
||||
lv_obj_set_width(liste, w);
|
||||
#if USE_LV_IMG != 0
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0
|
||||
if(img_fn != NULL && img_fn[0] != '\0') {
|
||||
lv_obj_t * img = lv_img_create(liste, NULL);
|
||||
lv_img_set_file(img, img_fn);
|
||||
@@ -462,7 +462,7 @@ lv_obj_t * lv_list_get_element_label(lv_obj_t * liste)
|
||||
*/
|
||||
lv_obj_t * lv_list_get_element_img(lv_obj_t * liste)
|
||||
{
|
||||
#if USE_LV_IMG != 0
|
||||
#if USE_LV_IMG != 0 && USE_FSINT != 0
|
||||
lv_obj_t * img = lv_obj_get_child(liste, NULL);
|
||||
if(img == NULL) return NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user