lv_image_decoder.h
API reference for lv_image_decoder.h
Functions
lv_image_decoder_set_info_cb
Set a callback to get information about the image
void lv_image_decoder_set_info_cb(lv_image_decoder_t *decoder, lv_image_decoder_info_f_t info_cb)| Name | Type | Description |
|---|---|---|
decoder | lv_image_decoder_t * | pointer to an image decoder |
info_cb | lv_image_decoder_info_f_t | a function to collect info about an image (fill an lv_image_header_t struct). May be NULL.. Use NULL to detach a previously assigned callback |
lv_image_decoder_set_open_cb
Set a callback to open an image
void lv_image_decoder_set_open_cb(lv_image_decoder_t *decoder, lv_image_decoder_open_f_t open_cb)| Name | Type | Description |
|---|---|---|
decoder | lv_image_decoder_t * | pointer to an image decoder |
open_cb | lv_image_decoder_open_f_t | a function to open an image May be NULL.. Use NULL to detach a previously assigned callback |
lv_image_decoder_set_get_area_cb
Set a callback to a decoded line of an image
void lv_image_decoder_set_get_area_cb(lv_image_decoder_t *decoder, lv_image_decoder_get_area_cb_t get_area_cb)| Name | Type | Description |
|---|---|---|
decoder | lv_image_decoder_t * | pointer to an image decoder |
get_area_cb | lv_image_decoder_get_area_cb_t | a function to read a line of an image May be NULL.. Use NULL to detach a previously assigned callback |
lv_image_decoder_set_close_cb
Set a callback to close a decoding session. E.g. close files and free other resources.
void lv_image_decoder_set_close_cb(lv_image_decoder_t *decoder, lv_image_decoder_close_f_t close_cb)| Name | Type | Description |
|---|---|---|
decoder | lv_image_decoder_t * | pointer to an image decoder |
close_cb | lv_image_decoder_close_f_t | a function to close a decoding session May be NULL.. Use NULL to detach a previously assigned callback |
lv_image_decoder_get_info
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.
lv_result_t lv_image_decoder_get_info(const void *src, lv_image_header_t *header)| Name | Type | Description |
|---|---|---|
src | const void * | the image source. Can be 1) File name: E.g. "S:folder/img1.png" (The drivers needs to registered via lv_fs_drv_register()) 2) Variable: Pointer to an lv_image_dsc_t variable 3) Symbol: E.g. LV_SYMBOL_OK |
header | lv_image_header_t * | the image info will be stored here |
Returns: lv_result_t — LV_RESULT_OK: success; LV_RESULT_INVALID: wasn't able to get info about the image
lv_image_decoder_get_area
Decode full_area pixels incrementally by calling in a loop. Set decoded_area to LV_COORD_MIN on first call.
lv_result_t lv_image_decoder_get_area(lv_image_decoder_dsc_t *dsc, const lv_area_t *full_area, lv_area_t *decoded_area)| Name | Type | Description |
|---|---|---|
dsc | lv_image_decoder_dsc_t * | image decoder descriptor |
full_area | const lv_area_t * | input parameter. the full area to decode after enough subsequent calls |
decoded_area | lv_area_t * | input+output parameter. set the values to LV_COORD_MIN for the first call and to reset decoding. the decoded area is stored here after each call. |
Returns: lv_result_t — LV_RESULT_OK: success; LV_RESULT_INVALID: an error occurred or there is nothing left to decode
lv_image_decoder_get_next
Get the next image decoder in the linked list of image decoders
lv_image_decoder_t * lv_image_decoder_get_next(lv_image_decoder_t *decoder)| Name | Type | Description |
|---|---|---|
decoder | lv_image_decoder_t * | pointer to an image decoder. May be NULL.. Use NULL to get the first one |
Returns: lv_image_decoder_t * — the next image decoder or NULL if no more image decoder exists
lv_image_decoder_open
Open an image. Try the created image decoders one by one. Once one is able to open the image that decoder is saved in dsc
lv_result_t lv_image_decoder_open(lv_image_decoder_dsc_t *dsc, const void *src, const lv_image_decoder_args_t *args)| Name | Type | Description |
|---|---|---|
dsc | lv_image_decoder_dsc_t * | describes a decoding session. Simply a pointer to an lv_image_decoder_dsc_t variable. |
src | const void * | the image source. May be NULL. Can be 1) File name: E.g. "S:folder/img1.png" (The drivers needs to registered via lv_fs_drv_register())) 2) Variable: Pointer to an lv_image_dsc_t variable 3) Symbol: E.g. LV_SYMBOL_OK |
args | const lv_image_decoder_args_t * | args about how the image should be opened. May be NULL.. Use NULL to use default parameters |
Returns: lv_result_t — LV_RESULT_OK: opened the image. dsc->decoded and dsc->header are set. LV_RESULT_INVALID: none of the registered image decoders were able to open the image.
lv_image_decoder_close
Close a decoding session
void lv_image_decoder_close(lv_image_decoder_dsc_t *dsc)| Name | Type | Description |
|---|---|---|
dsc | lv_image_decoder_dsc_t * | pointer to lv_image_decoder_dsc_t used in lv_image_decoder_open May be NULL. |
lv_image_decoder_create
Create a new image decoder
lv_image_decoder_t * lv_image_decoder_create(void)Returns: lv_image_decoder_t * — pointer to the new image decoder
lv_image_decoder_delete
Delete an image decoder
void lv_image_decoder_delete(lv_image_decoder_t *decoder)| Name | Type | Description |
|---|---|---|
decoder | lv_image_decoder_t * | pointer to an image decoder May be NULL. |
lv_image_decoder_post_process
Check the decoded image, make any modification if decoder args requires.
lv_draw_buf_t * lv_image_decoder_post_process(lv_image_decoder_dsc_t *dsc, lv_draw_buf_t *decoded)| Name | Type | Description |
|---|---|---|
dsc | lv_image_decoder_dsc_t * | pointer to a decoder descriptor |
decoded | lv_draw_buf_t * | pointer to a decoded image to post process to meet dsc->args requirement. May be NULL.. When NULL no post processing is done |
Returns: lv_draw_buf_t * — post processed draw buffer, when it differs with decoded, it's newly allocated.
A new draw buf will be allocated if provided decoded is not modifiable or stride mismatch etc.
Enums
lv_image_src_t
Source of image.
| Name | Description |
|---|---|
LV_IMAGE_SRC_VARIABLE | |
LV_IMAGE_SRC_FILE | Binary/C variable |
LV_IMAGE_SRC_SYMBOL | File in filesystem |
LV_IMAGE_SRC_UNKNOWN | Symbol (lv_symbol_def.h) |
Typedefs
lv_image_decoder_info_f_t
typedef lv_result_t(* lv_image_decoder_info_f_t) (lv_image_decoder_t *decoder, lv_image_decoder_dsc_t *dsc, lv_image_header_t *header)Get info from an image and store in the header
Used by 1 function
lv_image_decoder_set_info_cb— paraminfo_cb
lv_image_decoder_open_f_t
typedef lv_result_t(* lv_image_decoder_open_f_t) (lv_image_decoder_t *decoder, lv_image_decoder_dsc_t *dsc)Open an image for decoding. Prepare it as it is required to read it later
Used by 1 function
lv_image_decoder_set_open_cb— paramopen_cb
lv_image_decoder_get_area_cb_t
typedef lv_result_t(* lv_image_decoder_get_area_cb_t) (lv_image_decoder_t *decoder, lv_image_decoder_dsc_t *dsc, const lv_area_t *full_area, lv_area_t *decoded_area)Decode full_area pixels incrementally by calling in a loop. Set decoded_area values to LV_COORD_MIN on first call. Required only if the "open" function can't return with the whole decoded pixel array.
Used by 1 function
lv_image_decoder_set_get_area_cb— paramget_area_cb
lv_image_decoder_close_f_t
typedef void(* lv_image_decoder_close_f_t) (lv_image_decoder_t *decoder, lv_image_decoder_dsc_t *dsc)Close the pending decoding. Free resources etc.
Used by 1 function
lv_image_decoder_set_close_cb— paramclose_cb
lv_image_decoder_custom_draw_t
typedef void(* lv_image_decoder_custom_draw_t) (lv_layer_t *layer, const lv_image_decoder_dsc_t *dsc, const lv_area_t *coords, const lv_draw_image_dsc_t *draw_dsc, const lv_area_t *clip_area)Custom drawing functions for special image formats.
Dependencies
Last updated on