Lines Matching refs:draw_dsc
58 static void img_draw_core(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc,
63 static void radius_only(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc,
67 static void recolor_only(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc,
71 static void transform_and_recolor(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc,
77 lv_color_format_t cf, const lv_draw_image_dsc_t * draw_dsc);
79 static bool apply_mask(const lv_draw_image_dsc_t * draw_dsc);
94 void lv_draw_sw_layer(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, const lv_ar… in lv_draw_sw_layer() argument
96 lv_layer_t * layer_to_draw = (lv_layer_t *)draw_dsc->src; in lv_draw_sw_layer()
102 if(draw_dsc->bitmap_mask_src) { in lv_draw_sw_layer()
103 bool visible = apply_mask(draw_dsc); in lv_draw_sw_layer()
108 lv_draw_image_dsc_t new_draw_dsc = *draw_dsc; in lv_draw_sw_layer()
115 …if(draw_dsc->rotation || draw_dsc->scale_x != LV_SCALE_NONE || draw_dsc->scale_y != LV_SCALE_NONE)… in lv_draw_sw_layer()
119 …lv_image_buf_get_transformed_area(&area_rot, w, h, draw_dsc->rotation, draw_dsc->scale_x, draw_dsc… in lv_draw_sw_layer()
120 &draw_dsc->pivot); in lv_draw_sw_layer()
191 void lv_draw_sw_image(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, in lv_draw_sw_image() argument
194 if(!draw_dsc->tile) { in lv_draw_sw_image()
195 lv_draw_image_normal_helper(draw_unit, draw_dsc, coords, img_draw_core); in lv_draw_sw_image()
198 lv_draw_image_tiled_helper(draw_unit, draw_dsc, coords, img_draw_core); in lv_draw_sw_image()
206 static void img_draw_core(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, in img_draw_core() argument
210 bool transformed = draw_dsc->rotation != 0 || draw_dsc->scale_x != LV_SCALE_NONE || in img_draw_core()
211 draw_dsc->scale_y != LV_SCALE_NONE ? true : false; in img_draw_core()
213 bool radius = draw_dsc->clip_radius > 0; in img_draw_core()
223 blend_dsc.opa = draw_dsc->opa; in img_draw_core()
224 blend_dsc.blend_mode = draw_dsc->blend_mode; in img_draw_core()
235 blend_dsc.color = draw_dsc->recolor; in img_draw_core()
241 …else if(!transformed && !radius && cf == LV_COLOR_FORMAT_RGB565A8 && draw_dsc->recolor_opa <= LV_O… in img_draw_core()
268 else if(!transformed && !radius && draw_dsc->recolor_opa <= LV_OPA_MIN) { in img_draw_core()
275 else if(!transformed && !radius && draw_dsc->recolor_opa > LV_OPA_MIN) { in img_draw_core()
276 recolor_only(draw_unit, draw_dsc, decoder_dsc, img_coords, clipped_img_area); in img_draw_core()
279 else if(!transformed && radius && draw_dsc->recolor_opa <= LV_OPA_MIN) { in img_draw_core()
280 radius_only(draw_unit, draw_dsc, decoder_dsc, img_coords, clipped_img_area); in img_draw_core()
290 … draw_dsc)) { /* opa, recolour_opa and colour */ in img_draw_core()
292 transform_and_recolor(draw_unit, draw_dsc, decoder_dsc, sup, img_coords, clipped_img_area); in img_draw_core()
296 static void radius_only(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, in radius_only() argument
312 blend_dsc.opa = draw_dsc->opa; in radius_only()
313 blend_dsc.blend_mode = draw_dsc->blend_mode; in radius_only()
332 blend_dsc.color = draw_dsc->recolor; in radius_only()
336 lv_draw_sw_mask_radius_init(&mask_param, &draw_dsc->image_area, draw_dsc->clip_radius, false); in radius_only()
375 static void recolor_only(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, in recolor_only() argument
400 blend_dsc.opa = draw_dsc->opa; in recolor_only()
401 blend_dsc.blend_mode = draw_dsc->blend_mode; in recolor_only()
421 … recolor(relative_area, decoded->data, tmp_buf, img_stride, blend_dsc.src_color_format, draw_dsc); in recolor_only()
438 static void transform_and_recolor(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, in transform_and_recolor() argument
448 blend_dsc.opa = draw_dsc->opa; in transform_and_recolor()
449 blend_dsc.blend_mode = draw_dsc->blend_mode; in transform_and_recolor()
459 bool do_recolor = draw_dsc->recolor_opa > LV_OPA_MIN; in transform_and_recolor()
461 blend_dsc.color = draw_dsc->recolor; in transform_and_recolor()
519 draw_dsc, sup, cf, transformed_buf); in transform_and_recolor()
525 …ecolor(relative_area2, transformed_buf, transformed_buf, blend_dsc.src_stride, cf_final, draw_dsc); in transform_and_recolor()
546 lv_color_format_t cf, const lv_draw_image_dsc_t * draw_dsc) in recolor() argument
552 lv_color_t color = draw_dsc->recolor; in recolor()
553 lv_opa_t mix = draw_dsc->recolor_opa; in recolor()
606 static bool apply_mask(const lv_draw_image_dsc_t * draw_dsc) in apply_mask() argument
608 lv_layer_t * layer_to_draw = (lv_layer_t *)draw_dsc->src; in apply_mask()
614 …lv_result_t decoder_res = lv_image_decoder_open(&mask_decoder_dsc, draw_dsc->bitmap_mask_src, NULL… in apply_mask()
632 image_area = draw_dsc->image_area; /*Use the whole image area for the alignment*/ in apply_mask()