![]() |
![]() |
|
LittlevGL
3.20.00.19
|
#include "../../../lv_conf.h"#include <stdint.h>#include "../lv_misc/lv_fs.h"#include "../lv_misc/lv_types.h"#include "../lv_misc/lv_area.h"#include "../lv_core/lv_style.h"

Go to the source code of this file.
Data Structures | |
| struct | lv_img_header_t |
| struct | lv_img_dsc_t |
| struct | _lv_img_decoder |
| struct | _lv_img_decoder_dsc |
Typedefs | |
| typedef uint8_t | lv_img_src_t |
| typedef uint8_t | lv_img_cf_t |
| typedef lv_res_t(* | lv_img_decoder_info_f_t) (struct _lv_img_decoder *decoder, const void *src, lv_img_header_t *header) |
| typedef lv_res_t(* | lv_img_decoder_open_f_t) (struct _lv_img_decoder *decoder, struct _lv_img_decoder_dsc *dsc) |
| typedef lv_res_t(* | lv_img_decoder_read_line_f_t) (struct _lv_img_decoder *decoder, struct _lv_img_decoder_dsc *dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t *buf) |
| typedef void(* | lv_img_decoder_close_f_t) (struct _lv_img_decoder *decoder, struct _lv_img_decoder_dsc *dsc) |
| typedef struct _lv_img_decoder | lv_img_decoder_t |
| typedef struct _lv_img_decoder_dsc | lv_img_decoder_dsc_t |
| typedef uint8_t lv_img_src_t |
| typedef uint8_t lv_img_cf_t |
| typedef lv_res_t(* lv_img_decoder_info_f_t) (struct _lv_img_decoder *decoder, const void *src, lv_img_header_t *header) |
Get info from an image and store in the header
| src | the image source. Can be a pointer to a C array or a file name (Use lv_img_src_get_type to determine the type) |
| header | store the info here |
| typedef lv_res_t(* lv_img_decoder_open_f_t) (struct _lv_img_decoder *decoder, struct _lv_img_decoder_dsc *dsc) |
Open an image for decoding. Prepare it as it is required to read it later
| decoder | pointer to the decoder the function associated with |
| dsc | pointer to decoder descriptor. src, style are already initialized in it. |
| typedef lv_res_t(* lv_img_decoder_read_line_f_t) (struct _lv_img_decoder *decoder, struct _lv_img_decoder_dsc *dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t *buf) |
Decode len pixels starting from the given x, y coordinates and store them in buf. Required only if the "open" function can't return with the whole decoded pixel array.
| decoder | pointer to the decoder the function associated with |
| dsc | pointer to decoder descriptor |
| x | start x coordinate |
| y | start y coordinate |
| len | number of pixels to decode |
| buf | a buffer to store the decoded pixels |
| typedef void(* lv_img_decoder_close_f_t) (struct _lv_img_decoder *decoder, struct _lv_img_decoder_dsc *dsc) |
Close the pending decoding. Free resources etc.
| decoder | pointer to the decoder the function associated with |
| dsc | pointer to decoder descriptor |
| typedef struct _lv_img_decoder lv_img_decoder_t |
| typedef struct _lv_img_decoder_dsc lv_img_decoder_dsc_t |
Describe an image decoding session. Stores data about the decoding
| anonymous enum |
Source of image.
| Enumerator | |
|---|---|
| LV_IMG_SRC_VARIABLE | |
| LV_IMG_SRC_FILE | Binary/C variable |
| LV_IMG_SRC_SYMBOL | File in filesystem |
| LV_IMG_SRC_UNKNOWN | Symbol (lv_symbol_def.h) |
| anonymous enum |
| void lv_img_decoder_init | ( | void | ) |
Initialize the image decoder module
| lv_res_t lv_img_decoder_get_info | ( | const char * | src, |
| lv_img_header_t * | header | ||
| ) |
Get information about an image. Try the created image decoder one by one. Once one is able to get info that info will be used.
| src | the image source. Can be 1) File name: E.g. "S:folder/img1.png" (The drivers needs to registered via lv_fs_add_drv()) 2) Variable: Pointer to an lv_img_dsc_t variable 3) Symbol: E.g. LV_SYMBOL_OK |
| header | the image info will be stored here |
| lv_res_t lv_img_decoder_open | ( | lv_img_decoder_dsc_t * | dsc, |
| const void * | src, | ||
| const lv_style_t * | style | ||
| ) |
Open an image. Try the created image decoder one by one. Once one is able to open the image that decoder is save in dsc
| dsc | describe a decoding session. Simply a pointer to an lv_img_decoder_dsc_t variable. |
| src | the image source. Can be 1) File name: E.g. "S:folder/img1.png" (The drivers needs to registered via lv_fs_add_drv()) 2) Variable: Pointer to an lv_img_dsc_t variable 3) Symbol: E.g. LV_SYMBOL_OK |
| style | the style of the image |
dsc->img_data and dsc->header are set. LV_RES_INV: none of the registered image decoders were able to open the image. | lv_res_t lv_img_decoder_read_line | ( | lv_img_decoder_dsc_t * | dsc, |
| lv_coord_t | x, | ||
| lv_coord_t | y, | ||
| lv_coord_t | len, | ||
| uint8_t * | buf | ||
| ) |
Read a line from an opened image
| dsc | pointer to lv_img_decoder_dsc_t used in lv_img_decoder_open |
| x | start X coordinate (from left) |
| y | start Y coordinate (from top) |
| len | number of pixels to read |
| buf | store the data here |
| void lv_img_decoder_close | ( | lv_img_decoder_dsc_t * | dsc | ) |
Close a decoding session
| dsc | pointer to lv_img_decoder_dsc_t used in lv_img_decoder_open |
| lv_img_decoder_t* lv_img_decoder_create | ( | void | ) |
Create a new image decoder
| void lv_img_decoder_delete | ( | lv_img_decoder_t * | decoder | ) |
Delete an image decoder
| decoder | pointer to an image decoder |
| void lv_img_decoder_set_info_cb | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_info_f_t | info_cb | ||
| ) |
Set a callback to get information about the image
| decoder | pointer to an image decoder |
| info_cb | a function to collect info about an image (fill an lv_img_header_t struct) |
| void lv_img_decoder_set_open_cb | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_open_f_t | open_cb | ||
| ) |
Set a callback to open an image
| decoder | pointer to an image decoder |
| open_cb | a function to open an image |
| void lv_img_decoder_set_read_line_cb | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_read_line_f_t | read_line_cb | ||
| ) |
Set a callback to a decoded line of an image
| decoder | pointer to an image decoder |
| read_line_cb | a function to read a line of an image |
| void lv_img_decoder_set_close_cb | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_close_f_t | close_cb | ||
| ) |
Set a callback to close a decoding session. E.g. close files and free other resources.
| decoder | pointer to an image decoder |
| close_cb | a function to close a decoding session |
| lv_res_t lv_img_decoder_built_in_info | ( | lv_img_decoder_t * | decoder, |
| const void * | src, | ||
| lv_img_header_t * | header | ||
| ) |
Get info about a built-in image
| decoder | the decoder where this function belongs |
| src | the image source: pointer to an lv_img_dsc_t variable, a file path or a symbol |
| header | store the image data here |
header; LV_RES_INV: unknown format or other error. | lv_res_t lv_img_decoder_built_in_open | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_dsc_t * | dsc | ||
| ) |
Open a built in image
| decoder | the decoder where this function belongs |
| dsc | pointer to decoder descriptor. src, style are already initialized in it. |
header; LV_RES_INV: unknown format or other error. | lv_res_t lv_img_decoder_built_in_read_line | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_dsc_t * | dsc, | ||
| lv_coord_t | x, | ||
| lv_coord_t | y, | ||
| lv_coord_t | len, | ||
| uint8_t * | buf | ||
| ) |
Decode len pixels starting from the given x, y coordinates and store them in buf. Required only if the "open" function can't return with the whole decoded pixel array.
| decoder | pointer to the decoder the function associated with |
| dsc | pointer to decoder descriptor |
| x | start x coordinate |
| y | start y coordinate |
| len | number of pixels to decode |
| buf | a buffer to store the decoded pixels |
| void lv_img_decoder_built_in_close | ( | lv_img_decoder_t * | decoder, |
| lv_img_decoder_dsc_t * | dsc | ||
| ) |
Close the pending decoding. Free resources etc.
| decoder | pointer to the decoder the function associated with |
| dsc | pointer to decoder descriptor |