Lines Matching refs:dsc
40 static lv_image_decoder_t * image_decoder_get_info(lv_image_decoder_dsc_t * dsc, lv_image_header_t …
42 static lv_result_t try_cache(lv_image_decoder_dsc_t * dsc);
81 lv_image_decoder_dsc_t dsc; in lv_image_decoder_get_info() local
82 lv_memzero(&dsc, sizeof(lv_image_decoder_dsc_t)); in lv_image_decoder_get_info()
83 dsc.src = src; in lv_image_decoder_get_info()
84 dsc.src_type = lv_image_src_get_type(src); in lv_image_decoder_get_info()
86 lv_image_decoder_t * decoder = image_decoder_get_info(&dsc, header); in lv_image_decoder_get_info()
92 lv_result_t lv_image_decoder_open(lv_image_decoder_dsc_t * dsc, const void * src, const lv_image_de… in lv_image_decoder_open() argument
94 lv_memzero(dsc, sizeof(lv_image_decoder_dsc_t)); in lv_image_decoder_open()
97 dsc->src = src; in lv_image_decoder_open()
98 dsc->src_type = lv_image_src_get_type(src); in lv_image_decoder_open()
101 dsc->cache = img_cache_p; in lv_image_decoder_open()
107 if(try_cache(dsc) == LV_RESULT_OK) return LV_RESULT_OK; in lv_image_decoder_open()
112 dsc->decoder = image_decoder_get_info(dsc, &dsc->header); in lv_image_decoder_open()
113 if(dsc->decoder == NULL) return LV_RESULT_INVALID; in lv_image_decoder_open()
116 dsc->args = args ? *args : (lv_image_decoder_args_t) { in lv_image_decoder_open()
129 lv_result_t res = dsc->decoder->open_cb(dsc->decoder, dsc); in lv_image_decoder_open()
132 if(dsc->args.flush_cache && res == LV_RESULT_OK && dsc->decoded != NULL) { in lv_image_decoder_open()
133 lv_draw_buf_flush_cache(dsc->decoded, NULL); in lv_image_decoder_open()
136 dsc->src_type == LV_IMAGE_SRC_FILE ? (const char *)src : "c-array", in lv_image_decoder_open()
137 dsc->decoded->header.w, in lv_image_decoder_open()
138 dsc->decoded->header.h, in lv_image_decoder_open()
139 (void *)dsc->decoded->data, in lv_image_decoder_open()
140 dsc->decoded->header.cf); in lv_image_decoder_open()
146 lv_result_t lv_image_decoder_get_area(lv_image_decoder_dsc_t * dsc, const lv_area_t * full_area, in lv_image_decoder_get_area() argument
150 …if(dsc->decoder->get_area_cb) res = dsc->decoder->get_area_cb(dsc->decoder, dsc, full_area, decode… in lv_image_decoder_get_area()
155 void lv_image_decoder_close(lv_image_decoder_dsc_t * dsc) in lv_image_decoder_close() argument
157 if(dsc->decoder) { in lv_image_decoder_close()
158 if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc); in lv_image_decoder_close()
160 if(lv_image_cache_is_enabled() && dsc->cache && dsc->cache_entry) { in lv_image_decoder_close()
162 lv_cache_release(dsc->cache, dsc->cache_entry, NULL); in lv_image_decoder_close()
240 lv_draw_buf_t * lv_image_decoder_post_process(lv_image_decoder_dsc_t * dsc, lv_draw_buf_t * decoded) in lv_image_decoder_post_process() argument
244 lv_image_decoder_args_t * args = &dsc->args; in lv_image_decoder_post_process()
293 static lv_image_decoder_t * image_decoder_get_info(lv_image_decoder_dsc_t * dsc, lv_image_header_t … in image_decoder_get_info() argument
297 const void * src = dsc->src; in image_decoder_get_info()
298 lv_image_src_t src_type = dsc->src_type; in image_decoder_get_info()
330 lv_fs_res_t fs_res = lv_fs_open(&dsc->file, src, LV_FS_MODE_RD); in image_decoder_get_info()
342 lv_fs_seek(&dsc->file, 0, LV_FS_SEEK_SET); in image_decoder_get_info()
343 lv_result_t res = decoder->info_cb(decoder, dsc, header); in image_decoder_get_info()
363 lv_fs_close(&dsc->file); in image_decoder_get_info()
396 static lv_result_t try_cache(lv_image_decoder_dsc_t * dsc) in try_cache() argument
398 lv_cache_t * cache = dsc->cache; in try_cache()
401 search_key.src_type = dsc->src_type; in try_cache()
402 search_key.src = dsc->src; in try_cache()
408 dsc->decoded = cached_data->decoded; in try_cache()
409 dsc->decoder = (lv_image_decoder_t *)cached_data->decoder; in try_cache()
410 dsc->cache_entry = entry; /*Save the cache to release it in decoder_close*/ in try_cache()