Lines Matching +full:- +full:w

92         if(img_dsc->data == NULL) return LV_RES_INV;  in lv_img_decoder_get_info()
98 if(d->info_cb) { in lv_img_decoder_get_info()
99 res = d->info_cb(d, src, header); in lv_img_decoder_get_info()
115 if(img_dsc->data == NULL) return LV_RES_INV; in lv_img_decoder_open()
118 dsc->color = color; in lv_img_decoder_open()
119 dsc->src_type = src_type; in lv_img_decoder_open()
120 dsc->frame_id = frame_id; in lv_img_decoder_open()
122 if(dsc->src_type == LV_IMG_SRC_FILE) { in lv_img_decoder_open()
124 dsc->src = lv_mem_alloc(fnlen + 1); in lv_img_decoder_open()
125 LV_ASSERT_MALLOC(dsc->src); in lv_img_decoder_open()
126 if(dsc->src == NULL) { in lv_img_decoder_open()
130 strcpy((char *)dsc->src, src); in lv_img_decoder_open()
133 dsc->src = src; in lv_img_decoder_open()
141 if(decoder->info_cb == NULL || decoder->open_cb == NULL) continue; in lv_img_decoder_open()
143 res = decoder->info_cb(decoder, src, &dsc->header); in lv_img_decoder_open()
146 dsc->decoder = decoder; in lv_img_decoder_open()
147 res = decoder->open_cb(decoder, dsc); in lv_img_decoder_open()
153 lv_memset_00(&dsc->header, sizeof(lv_img_header_t)); in lv_img_decoder_open()
155 dsc->error_msg = NULL; in lv_img_decoder_open()
156 dsc->img_data = NULL; in lv_img_decoder_open()
157 dsc->user_data = NULL; in lv_img_decoder_open()
158 dsc->time_to_open = 0; in lv_img_decoder_open()
161 if(dsc->src_type == LV_IMG_SRC_FILE) in lv_img_decoder_open()
162 lv_mem_free((void *)dsc->src); in lv_img_decoder_open()
179 …if(dsc->decoder->read_line_cb) res = dsc->decoder->read_line_cb(dsc->decoder, dsc, x, y, len, buf); in lv_img_decoder_read_line()
190 if(dsc->decoder) { in lv_img_decoder_close()
191 if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc); in lv_img_decoder_close()
193 if(dsc->src_type == LV_IMG_SRC_FILE) { in lv_img_decoder_close()
194 lv_mem_free((void *)dsc->src); in lv_img_decoder_close()
195 dsc->src = NULL; in lv_img_decoder_close()
233 decoder->info_cb = info_cb; in lv_img_decoder_set_info_cb()
243 decoder->open_cb = open_cb; in lv_img_decoder_set_open_cb()
253 decoder->read_line_cb = read_line_cb; in lv_img_decoder_set_read_line_cb()
263 decoder->close_cb = close_cb; in lv_img_decoder_set_close_cb()
267 * Get info about a built-in image
279 lv_img_cf_t cf = ((lv_img_dsc_t *)src)->header.cf; in lv_img_decoder_built_in_info()
282 header->w = ((lv_img_dsc_t *)src)->header.w; in lv_img_decoder_built_in_info()
283 header->h = ((lv_img_dsc_t *)src)->header.h; in lv_img_decoder_built_in_info()
284 header->cf = ((lv_img_dsc_t *)src)->header.cf; in lv_img_decoder_built_in_info()
302 if(header->cf < CF_BUILT_IN_FIRST || header->cf > CF_BUILT_IN_LAST) return LV_RES_INV; in lv_img_decoder_built_in_info()
307 header->w = 1; in lv_img_decoder_built_in_info()
308 header->h = 1; in lv_img_decoder_built_in_info()
311 header->cf = LV_IMG_CF_ALPHA_1BIT; in lv_img_decoder_built_in_info()
329 if(dsc->src_type == LV_IMG_SRC_FILE) { in lv_img_decoder_built_in_open()
331 if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; in lv_img_decoder_built_in_open()
334 lv_fs_res_t res = lv_fs_open(&f, dsc->src, LV_FS_MODE_RD); in lv_img_decoder_built_in_open()
336 LV_LOG_WARN("Built-in image decoder can't open the file"); in lv_img_decoder_built_in_open()
341 if(dsc->user_data == NULL) { in lv_img_decoder_built_in_open()
342 dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); in lv_img_decoder_built_in_open()
343 LV_ASSERT_MALLOC(dsc->user_data); in lv_img_decoder_built_in_open()
344 if(dsc->user_data == NULL) { in lv_img_decoder_built_in_open()
349 lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); in lv_img_decoder_built_in_open()
352 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_open()
353 lv_memcpy_small(&user_data->f, &f, sizeof(f)); in lv_img_decoder_built_in_open()
355 else if(dsc->src_type == LV_IMG_SRC_VARIABLE) { in lv_img_decoder_built_in_open()
357 if(((lv_img_dsc_t *)dsc->src)->data == NULL) { in lv_img_decoder_built_in_open()
362 lv_img_cf_t cf = dsc->header.cf; in lv_img_decoder_built_in_open()
365 if(dsc->src_type == LV_IMG_SRC_VARIABLE) { in lv_img_decoder_built_in_open()
368 dsc->img_data = ((lv_img_dsc_t *)dsc->src)->data; in lv_img_decoder_built_in_open()
373 uint32_t len = dsc->header.w * dsc->header.h; in lv_img_decoder_built_in_open()
378 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_open()
379 lv_fs_seek(&user_data->f, 4, LV_FS_SEEK_SET); /*+4 to skip the header*/ in lv_img_decoder_built_in_open()
380 lv_fs_res_t res = lv_fs_read(&user_data->f, fs_buf, len, NULL); in lv_img_decoder_built_in_open()
385 dsc->img_data = fs_buf; in lv_img_decoder_built_in_open()
392 if(dsc->src_type == LV_IMG_SRC_VARIABLE) { in lv_img_decoder_built_in_open()
395 dsc->img_data = ((lv_img_dsc_t *)dsc->src)->data; in lv_img_decoder_built_in_open()
410 if(dsc->user_data == NULL) { in lv_img_decoder_built_in_open()
411 dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); in lv_img_decoder_built_in_open()
412 LV_ASSERT_MALLOC(dsc->user_data); in lv_img_decoder_built_in_open()
413 if(dsc->user_data == NULL) { in lv_img_decoder_built_in_open()
417 lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); in lv_img_decoder_built_in_open()
420 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_open()
421 … user_data->palette = lv_mem_alloc(palette_size * sizeof(lv_color_t)); in lv_img_decoder_built_in_open()
422 LV_ASSERT_MALLOC(user_data->palette); in lv_img_decoder_built_in_open()
423 user_data->opa = lv_mem_alloc(palette_size * sizeof(lv_opa_t)); in lv_img_decoder_built_in_open()
424 LV_ASSERT_MALLOC(user_data->opa); in lv_img_decoder_built_in_open()
425 if(user_data->palette == NULL || user_data->opa == NULL) { in lv_img_decoder_built_in_open()
431 if(dsc->src_type == LV_IMG_SRC_FILE) { in lv_img_decoder_built_in_open()
433 lv_fs_seek(&user_data->f, 4, LV_FS_SEEK_SET); /*Skip the header*/ in lv_img_decoder_built_in_open()
437 lv_fs_read(&user_data->f, &cur_color, sizeof(lv_color32_t), NULL); in lv_img_decoder_built_in_open()
438 … user_data->palette[i] = lv_color_make(cur_color.ch.red, cur_color.ch.green, cur_color.ch.blue); in lv_img_decoder_built_in_open()
439 user_data->opa[i] = cur_color.ch.alpha; in lv_img_decoder_built_in_open()
444 lv_color32_t * palette_p = (lv_color32_t *)((lv_img_dsc_t *)dsc->src)->data; in lv_img_decoder_built_in_open()
448 …user_data->palette[i] = lv_color_make(palette_p[i].ch.red, palette_p[i].ch.green, palette_p[i].ch.… in lv_img_decoder_built_in_open()
449 user_data->opa[i] = palette_p[i].ch.alpha; in lv_img_decoder_built_in_open()
487 if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || in lv_img_decoder_built_in_read_line()
488 dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { in lv_img_decoder_built_in_read_line()
491 if(dsc->src_type == LV_IMG_SRC_FILE) { in lv_img_decoder_built_in_read_line()
495 else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || in lv_img_decoder_built_in_read_line()
496 dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { in lv_img_decoder_built_in_read_line()
499 else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT || dsc->header.cf == LV_IMG_CF_INDEXED_2BIT || in lv_img_decoder_built_in_read_line()
500 dsc->header.cf == LV_IMG_CF_INDEXED_4BIT || dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) { in lv_img_decoder_built_in_read_line()
504 LV_LOG_WARN("Built-in image decoder read not supports the color format"); in lv_img_decoder_built_in_read_line()
520 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_close()
522 if(dsc->src_type == LV_IMG_SRC_FILE) { in lv_img_decoder_built_in_close()
523 lv_fs_close(&user_data->f); in lv_img_decoder_built_in_close()
525 if(user_data->palette) lv_mem_free(user_data->palette); in lv_img_decoder_built_in_close()
526 if(user_data->opa) lv_mem_free(user_data->opa); in lv_img_decoder_built_in_close()
529 dsc->user_data = NULL; in lv_img_decoder_built_in_close()
540 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_line_true_color()
542 uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); in lv_img_decoder_built_in_line_true_color()
544 uint32_t pos = ((y * dsc->header.w + x) * px_size) >> 3; in lv_img_decoder_built_in_line_true_color()
546 res = lv_fs_seek(&user_data->f, pos, LV_FS_SEEK_SET); in lv_img_decoder_built_in_line_true_color()
548 LV_LOG_WARN("Built-in image decoder seek failed"); in lv_img_decoder_built_in_line_true_color()
553 res = lv_fs_read(&user_data->f, buf, btr, &br); in lv_img_decoder_built_in_line_true_color()
555 LV_LOG_WARN("Built-in image decoder read failed"); in lv_img_decoder_built_in_line_true_color()
572 lv_color_t bg_color = dsc->color; in lv_img_decoder_built_in_line_alpha()
589 uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); in lv_img_decoder_built_in_line_alpha()
590 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ in lv_img_decoder_built_in_line_alpha()
592 lv_coord_t w = 0; in lv_img_decoder_built_in_line_alpha() local
595 switch(dsc->header.cf) { in lv_img_decoder_built_in_line_alpha()
597 w = (dsc->header.w + 7) >> 3; /*E.g. w = 20 -> w = 2 + 1*/ in lv_img_decoder_built_in_line_alpha()
598 ofs += w * y + (x >> 3); /*First pixel*/ in lv_img_decoder_built_in_line_alpha()
599 pos = 7 - (x & 0x7); in lv_img_decoder_built_in_line_alpha()
603 w = (dsc->header.w + 3) >> 2; /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ in lv_img_decoder_built_in_line_alpha()
604 ofs += w * y + (x >> 2); /*First pixel*/ in lv_img_decoder_built_in_line_alpha()
605 pos = 6 - (x & 0x3) * 2; in lv_img_decoder_built_in_line_alpha()
609 w = (dsc->header.w + 1) >> 1; /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ in lv_img_decoder_built_in_line_alpha()
610 ofs += w * y + (x >> 1); /*First pixel*/ in lv_img_decoder_built_in_line_alpha()
611 pos = 4 - (x & 0x1) * 4; in lv_img_decoder_built_in_line_alpha()
615 w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ in lv_img_decoder_built_in_line_alpha()
616 ofs += w * y + x; /*First pixel*/ in lv_img_decoder_built_in_line_alpha()
621 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_line_alpha()
622 uint8_t * fs_buf = lv_mem_buf_get(w); in lv_img_decoder_built_in_line_alpha()
626 if(dsc->src_type == LV_IMG_SRC_VARIABLE) { in lv_img_decoder_built_in_line_alpha()
627 const lv_img_dsc_t * img_dsc = dsc->src; in lv_img_decoder_built_in_line_alpha()
629 data_tmp = img_dsc->data + ofs; in lv_img_decoder_built_in_line_alpha()
632 lv_fs_seek(&user_data->f, ofs + 4, LV_FS_SEEK_SET); /*+4 to skip the header*/ in lv_img_decoder_built_in_line_alpha()
633 lv_fs_read(&user_data->f, fs_buf, w, NULL); in lv_img_decoder_built_in_line_alpha()
640 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = in lv_img_decoder_built_in_line_alpha()
641 dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; in lv_img_decoder_built_in_line_alpha()
643 pos -= px_size; in lv_img_decoder_built_in_line_alpha()
645 pos = 8 - px_size; in lv_img_decoder_built_in_line_alpha()
656 uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); in lv_img_decoder_built_in_line_indexed()
657 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ in lv_img_decoder_built_in_line_indexed()
659 lv_coord_t w = 0; in lv_img_decoder_built_in_line_indexed() local
662 switch(dsc->header.cf) { in lv_img_decoder_built_in_line_indexed()
664 w = (dsc->header.w + 7) >> 3; /*E.g. w = 20 -> w = 2 + 1*/ in lv_img_decoder_built_in_line_indexed()
665 ofs += w * y + (x >> 3); /*First pixel*/ in lv_img_decoder_built_in_line_indexed()
667 pos = 7 - (x & 0x7); in lv_img_decoder_built_in_line_indexed()
670 w = (dsc->header.w + 3) >> 2; /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ in lv_img_decoder_built_in_line_indexed()
671 ofs += w * y + (x >> 2); /*First pixel*/ in lv_img_decoder_built_in_line_indexed()
673 pos = 6 - (x & 0x3) * 2; in lv_img_decoder_built_in_line_indexed()
676 w = (dsc->header.w + 1) >> 1; /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ in lv_img_decoder_built_in_line_indexed()
677 ofs += w * y + (x >> 1); /*First pixel*/ in lv_img_decoder_built_in_line_indexed()
679 pos = 4 - (x & 0x1) * 4; in lv_img_decoder_built_in_line_indexed()
682 w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ in lv_img_decoder_built_in_line_indexed()
683 ofs += w * y + x; /*First pixel*/ in lv_img_decoder_built_in_line_indexed()
689 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; in lv_img_decoder_built_in_line_indexed()
691 uint8_t * fs_buf = lv_mem_buf_get(w); in lv_img_decoder_built_in_line_indexed()
694 if(dsc->src_type == LV_IMG_SRC_VARIABLE) { in lv_img_decoder_built_in_line_indexed()
695 const lv_img_dsc_t * img_dsc = dsc->src; in lv_img_decoder_built_in_line_indexed()
696 data_tmp = img_dsc->data + ofs; in lv_img_decoder_built_in_line_indexed()
699 lv_fs_seek(&user_data->f, ofs + 4, LV_FS_SEEK_SET); /*+4 to skip the header*/ in lv_img_decoder_built_in_line_indexed()
700 lv_fs_read(&user_data->f, fs_buf, w, NULL); in lv_img_decoder_built_in_line_indexed()
708 lv_color_t color = user_data->palette[val_act]; in lv_img_decoder_built_in_line_indexed()
720 … buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; in lv_img_decoder_built_in_line_indexed()
722 pos -= px_size; in lv_img_decoder_built_in_line_indexed()
724 pos = 8 - px_size; in lv_img_decoder_built_in_line_indexed()