BigW Consortium Gitlab

Commit 8ad9b481 by Gabor

lv_img: check the USE_FSINT and USE_UFS better

parent 53b7ef04
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment