Lines Matching +full:- +full:w
54 lv_coord_t w; member
109 …t_grad_frag_key_t rect_grad_frag_key_create(const lv_grad_dsc_t * grad, lv_coord_t w, lv_coord_t h,
126 …KIP_BORDER(dsc) ((dsc)->border_opa <= LV_OPA_MIN || (dsc)->border_width == 0 || (dsc)->border_side…
127 …)->shadow_width == 0 || (dsc)->shadow_opa <= LV_OPA_MIN || ((dsc)->shadow_width == 1 && (dsc)->sha…
128 #define SKIP_IMAGE(dsc) ((dsc)->bg_img_src == NULL || (dsc)->bg_img_opa <= LV_OPA_MIN)
129 #define SKIP_OUTLINE(dsc) ((dsc)->outline_opa <= LV_OPA_MIN || (dsc)->outline_width == 0)
137 const lv_area_t * clip = draw_ctx->clip_area; in lv_draw_sdl_draw_rect()
142 lv_coord_t ext = (lv_coord_t)(dsc->shadow_spread - dsc->shadow_width / 2 + 1); in lv_draw_sdl_draw_rect()
143 extension.x1 = LV_MAX(extension.x1, -dsc->shadow_ofs_x + ext); in lv_draw_sdl_draw_rect()
144 extension.x2 = LV_MAX(extension.x2, dsc->shadow_ofs_x + ext); in lv_draw_sdl_draw_rect()
145 extension.y1 = LV_MAX(extension.y1, -dsc->shadow_ofs_y + ext); in lv_draw_sdl_draw_rect()
146 extension.y2 = LV_MAX(extension.y2, dsc->shadow_ofs_y + ext); in lv_draw_sdl_draw_rect()
149 lv_coord_t ext = (lv_coord_t)(dsc->outline_pad - 1 + dsc->outline_width); in lv_draw_sdl_draw_rect()
157 …bool has_composite = lv_draw_sdl_composite_begin(ctx, coords, clip, &extension, dsc->blend_mode, &… in lv_draw_sdl_draw_rect()
175 lv_draw_sdl_composite_end(ctx, &apply_area, dsc->blend_mode); in lv_draw_sdl_draw_rect()
183 lv_area_t coords = {0, 0, radius * 2 - 1, radius * 2 - 1}; in lv_draw_sdl_rect_bg_frag_obtain()
184 lv_area_t coords_frag = {0, 0, radius - 1, radius - 1}; in lv_draw_sdl_rect_bg_frag_obtain()
188 texture = lv_draw_sdl_mask_dump_texture(ctx->renderer, &coords_frag, &mask_id, 1); in lv_draw_sdl_rect_bg_frag_obtain()
199 …v_draw_sdl_rect_grad_frag_obtain(lv_draw_sdl_ctx_t * ctx, const lv_grad_dsc_t * grad, lv_coord_t w, in lv_draw_sdl_rect_grad_frag_obtain() argument
202 lv_draw_rect_grad_frag_key_t key = rect_grad_frag_key_create(grad, w, h, radius); in lv_draw_sdl_rect_grad_frag_obtain()
205 lv_area_t coords = {0, 0, radius * 2 + FRAG_SPACING - 1, radius * 2 + FRAG_SPACING - 1}; in lv_draw_sdl_rect_grad_frag_obtain()
206 … texture = SDL_CreateTexture(ctx->renderer, LV_DRAW_SDL_TEXTURE_FORMAT, SDL_TEXTUREACCESS_TARGET, in lv_draw_sdl_rect_grad_frag_obtain()
213 SDL_Texture * mask = lv_draw_sdl_mask_dump_texture(ctx->renderer, &coords, &mask_id, 1); in lv_draw_sdl_rect_grad_frag_obtain()
218 SDL_Texture * target_backup = SDL_GetRenderTarget(ctx->renderer); in lv_draw_sdl_rect_grad_frag_obtain()
219 SDL_SetRenderTarget(ctx->renderer, texture); in lv_draw_sdl_rect_grad_frag_obtain()
220 SDL_RenderCopy(ctx->renderer, mask, NULL, NULL); in lv_draw_sdl_rect_grad_frag_obtain()
223 lv_area_t blend_coords = {.x1 = 0, .y1 = 0, .x2 = w - 1, .y2 = h - 1}; in lv_draw_sdl_rect_grad_frag_obtain()
224 lv_area_t draw_area = {.x1 = 0, .y1 = 0, .x2 = radius - 1, .y2 = radius - 1}; in lv_draw_sdl_rect_grad_frag_obtain()
245 SDL_SetRenderTarget(ctx->renderer, target_backup); in lv_draw_sdl_rect_grad_frag_obtain()
267 int width = grad->dir == LV_GRAD_DIR_VER ? 1 : 256; in lv_draw_sdl_rect_grad_strip_obtain()
268 int height = grad->dir == LV_GRAD_DIR_VER ? 256 : 1; in lv_draw_sdl_rect_grad_strip_obtain()
271 texture = SDL_CreateTextureFromSurface(ctx->renderer, surface); in lv_draw_sdl_rect_grad_strip_obtain()
288 corner_area.x1 = coords->x1; in lv_draw_sdl_rect_bg_frag_draw_corners()
289 corner_area.y1 = coords->y1; in lv_draw_sdl_rect_bg_frag_draw_corners()
290 corner_area.x2 = coords->x1 + frag_size - 1; in lv_draw_sdl_rect_bg_frag_draw_corners()
291 corner_area.y2 = coords->y1 + frag_size - 1; in lv_draw_sdl_rect_bg_frag_draw_corners()
297 …lv_coord_t sx = (lv_coord_t)(dst_area.x1 - corner_area.x1), sy = (lv_coord_t)(dst_area.y1 - corner… in lv_draw_sdl_rect_bg_frag_draw_corners()
299 SDL_RenderCopy(ctx->renderer, frag, &src_rect, &dst_rect); in lv_draw_sdl_rect_bg_frag_draw_corners()
302 corner_area.x1 = LV_MAX(coords->x2 - frag_size + 1, coords->x1 + frag_size); in lv_draw_sdl_rect_bg_frag_draw_corners()
303 corner_area.x2 = coords->x2; in lv_draw_sdl_rect_bg_frag_draw_corners()
310 lv_coord_t sx = (lv_coord_t)(dst_area.x1 - corner_area.x1), in lv_draw_sdl_rect_bg_frag_draw_corners()
311 sy = (lv_coord_t)(dst_area.y1 - corner_area.y1); in lv_draw_sdl_rect_bg_frag_draw_corners()
313 SDL_RenderCopy(ctx->renderer, frag, &src_rect, &dst_rect); in lv_draw_sdl_rect_bg_frag_draw_corners()
316 … SDL_Rect src_rect = {corner_area.x2 - dst_area.x2, dst_area.y1 - corner_area.y1, dw, dh}; in lv_draw_sdl_rect_bg_frag_draw_corners()
317 … SDL_RenderCopyEx(ctx->renderer, frag, &src_rect, &dst_rect, 0, NULL, SDL_FLIP_HORIZONTAL); in lv_draw_sdl_rect_bg_frag_draw_corners()
321 corner_area.y1 = LV_MAX(coords->y2 - frag_size + 1, coords->y1 + frag_size); in lv_draw_sdl_rect_bg_frag_draw_corners()
322 corner_area.y2 = coords->y2; in lv_draw_sdl_rect_bg_frag_draw_corners()
329 lv_coord_t sx = (lv_coord_t)(dst_area.x1 - corner_area.x1), in lv_draw_sdl_rect_bg_frag_draw_corners()
330 sy = (lv_coord_t)(dst_area.y1 - corner_area.y1); in lv_draw_sdl_rect_bg_frag_draw_corners()
332 SDL_RenderCopy(ctx->renderer, frag, &src_rect, &dst_rect); in lv_draw_sdl_rect_bg_frag_draw_corners()
335 … SDL_Rect src_rect = {corner_area.x2 - dst_area.x2, corner_area.y2 - dst_area.y2, dw, dh}; in lv_draw_sdl_rect_bg_frag_draw_corners()
336 …SDL_RenderCopyEx(ctx->renderer, frag, &src_rect, &dst_rect, 0, NULL, SDL_FLIP_HORIZONTAL | SDL_FLI… in lv_draw_sdl_rect_bg_frag_draw_corners()
340 corner_area.x1 = coords->x1; in lv_draw_sdl_rect_bg_frag_draw_corners()
341 corner_area.x2 = coords->x1 + frag_size - 1; in lv_draw_sdl_rect_bg_frag_draw_corners()
348 lv_coord_t sx = (lv_coord_t)(dst_area.x1 - corner_area.x1), in lv_draw_sdl_rect_bg_frag_draw_corners()
349 sy = (lv_coord_t)(dst_area.y1 - corner_area.y1); in lv_draw_sdl_rect_bg_frag_draw_corners()
351 SDL_RenderCopy(ctx->renderer, frag, &src_rect, &dst_rect); in lv_draw_sdl_rect_bg_frag_draw_corners()
354 … SDL_Rect src_rect = {dst_area.x1 - corner_area.x1, corner_area.y2 - dst_area.y2, dw, dh}; in lv_draw_sdl_rect_bg_frag_draw_corners()
355 SDL_RenderCopyEx(ctx->renderer, frag, &src_rect, &dst_rect, 0, NULL, SDL_FLIP_VERTICAL); in lv_draw_sdl_rect_bg_frag_draw_corners()
367 if(dsc->bg_opa == 0) { in draw_bg_color()
370 lv_coord_t radius = dsc->radius; in draw_bg_color()
372 if(dsc->bg_grad.dir == LV_GRAD_DIR_NONE) { in draw_bg_color()
373 lv_color_to_sdl_color(&dsc->bg_color, &bg_color); in draw_bg_color()
375 else if(dsc->bg_grad.stops_count == 1) { in draw_bg_color()
376 lv_color_to_sdl_color(&dsc->bg_grad.stops[0].color, &bg_color); in draw_bg_color()
380 draw_bg_grad_simple(ctx, coords, draw_area, &dsc->bg_grad, false); in draw_bg_color()
390 SDL_SetRenderDrawColor(ctx->renderer, bg_color.r, bg_color.g, bg_color.b, dsc->bg_opa); in draw_bg_color()
391 SDL_SetRenderDrawBlendMode(ctx->renderer, SDL_BLENDMODE_BLEND); in draw_bg_color()
392 SDL_RenderFillRect(ctx->renderer, &rect); in draw_bg_color()
403 SDL_SetTextureAlphaMod(texture, dsc->bg_opa); in draw_bg_color()
406 frag_render_borders(ctx->renderer, texture, real_radius, coords, draw_area, false); in draw_bg_color()
407 frag_render_center(ctx->renderer, texture, real_radius, coords, draw_area, false); in draw_bg_color()
421 if(grad->dir == LV_GRAD_DIR_VER) { in draw_bg_grad_simple()
424 srcrect.y = (draw_area->y1 - coords->y1) * 255 / coords_h; in draw_bg_grad_simple()
425 srcrect.w = 1; in draw_bg_grad_simple()
434 srcrect.x = (draw_area->x1 - coords->x1) * 255 / coords_w; in draw_bg_grad_simple()
436 srcrect.w = dstrect.w * 256 / coords_w; in draw_bg_grad_simple()
453 SDL_RenderCopy(ctx->renderer, grad_texture, &srcrect, &dstrect); in draw_bg_grad_simple()
464 lv_coord_t radius = dsc->radius; in draw_bg_grad_radius()
469 …SDL_Texture * grad_texture = lv_draw_sdl_rect_grad_frag_obtain(ctx, &dsc->bg_grad, bg_w, bg_h, rad… in draw_bg_grad_radius()
479 part_coords.x2 = radius - 1; in draw_bg_grad_radius()
481 part_coords.y2 = bg_h - radius - 1; in draw_bg_grad_radius()
485 draw_bg_grad_simple(ctx, coords, &part_area, &dsc->bg_grad, false); in draw_bg_grad_radius()
489 draw_bg_grad_simple(ctx, coords, &part_area, &dsc->bg_grad, false); in draw_bg_grad_radius()
492 part_coords.x2 = bg_w - radius - 1; in draw_bg_grad_radius()
494 part_coords.y2 = bg_h - 1; in draw_bg_grad_radius()
497 draw_bg_grad_simple(ctx, coords, &part_area, &dsc->bg_grad, false); in draw_bg_grad_radius()
502 part_coords.x2 = bg_w - radius - 1; in draw_bg_grad_radius()
504 part_coords.y2 = radius - 1; in draw_bg_grad_radius()
508 draw_bg_grad_simple(ctx, coords, &part_area, &dsc->bg_grad, false); in draw_bg_grad_radius()
512 draw_bg_grad_simple(ctx, coords, &part_area, &dsc->bg_grad, false); in draw_bg_grad_radius()
515 part_coords.x2 = bg_w - 1; in draw_bg_grad_radius()
517 part_coords.y2 = bg_h - radius - 1; in draw_bg_grad_radius()
520 draw_bg_grad_simple(ctx, coords, &part_area, &dsc->bg_grad, false); in draw_bg_grad_radius()
535 lv_img_src_t src_type = lv_img_src_get_type(dsc->bg_img_src); in draw_bg_img()
538 …lv_txt_get_size(&size, dsc->bg_img_src, dsc->bg_img_symbol_font, 0, 0, LV_COORD_MAX, LV_TEXT_FLAG_… in draw_bg_img()
540 a.x1 = coords->x1 + lv_area_get_width(coords) / 2 - size.x / 2; in draw_bg_img()
541 a.x2 = a.x1 + size.x - 1; in draw_bg_img()
542 a.y1 = coords->y1 + lv_area_get_height(coords) / 2 - size.y / 2; in draw_bg_img()
543 a.y2 = a.y1 + size.y - 1; in draw_bg_img()
547 label_draw_dsc.font = dsc->bg_img_symbol_font; in draw_bg_img()
548 label_draw_dsc.color = dsc->bg_img_recolor; in draw_bg_img()
549 label_draw_dsc.opa = dsc->bg_img_opa; in draw_bg_img()
550 lv_draw_label((lv_draw_ctx_t *) ctx, &label_draw_dsc, &a, dsc->bg_img_src, NULL); in draw_bg_img()
555 …lv_draw_sdl_cache_key_head_img_t * key = lv_draw_sdl_texture_img_key_create(dsc->bg_img_src, 0, &k… in draw_bg_img()
564 else if(key_found || lv_img_decoder_get_info(dsc->bg_img_src, &header) != LV_RES_OK) { in draw_bg_img()
572 img_dsc.blend_mode = dsc->blend_mode; in draw_bg_img()
573 img_dsc.recolor = dsc->bg_img_recolor; in draw_bg_img()
574 img_dsc.recolor_opa = dsc->bg_img_recolor_opa; in draw_bg_img()
575 img_dsc.opa = dsc->bg_img_opa; in draw_bg_img()
580 if(dsc->radius > 0) { in draw_bg_img()
581 lv_draw_mask_radius_init(&radius_param, coords, dsc->radius, false); in draw_bg_img()
586 if(dsc->bg_img_tiled == false) { in draw_bg_img()
588 area.x1 = coords->x1 + lv_area_get_width(coords) / 2 - header.w / 2; in draw_bg_img()
589 area.y1 = coords->y1 + lv_area_get_height(coords) / 2 - header.h / 2; in draw_bg_img()
590 area.x2 = area.x1 + header.w - 1; in draw_bg_img()
591 area.y2 = area.y1 + header.h - 1; in draw_bg_img()
593 lv_draw_img((lv_draw_ctx_t *) ctx, &img_dsc, &area, dsc->bg_img_src); in draw_bg_img()
597 area.y1 = coords->y1; in draw_bg_img()
598 area.y2 = area.y1 + header.h - 1; in draw_bg_img()
600 for(; area.y1 <= coords->y2; area.y1 += header.h, area.y2 += header.h) { in draw_bg_img()
602 area.x1 = coords->x1; in draw_bg_img()
603 area.x2 = area.x1 + header.w - 1; in draw_bg_img()
604 for(; area.x1 <= coords->x2; area.x1 += header.w, area.x2 += header.w) { in draw_bg_img()
605 lv_draw_img((lv_draw_ctx_t *) ctx, &img_dsc, &area, dsc->bg_img_src); in draw_bg_img()
623 lv_coord_t sw = dsc->shadow_width; in draw_shadow()
626 core_area.x1 = coords->x1 + dsc->shadow_ofs_x - dsc->shadow_spread; in draw_shadow()
627 core_area.x2 = coords->x2 + dsc->shadow_ofs_x + dsc->shadow_spread; in draw_shadow()
628 core_area.y1 = coords->y1 + dsc->shadow_ofs_y - dsc->shadow_spread; in draw_shadow()
629 core_area.y2 = coords->y2 + dsc->shadow_ofs_y + dsc->shadow_spread; in draw_shadow()
632 shadow_area.x1 = core_area.x1 - sw / 2 - 1; in draw_shadow()
634 shadow_area.y1 = core_area.y1 - sw / 2 - 1; in draw_shadow()
637 lv_opa_t opa = dsc->shadow_opa; in draw_shadow()
649 lv_coord_t radius = dsc->radius; in draw_shadow()
676 texture = lv_sdl_create_opa_texture(ctx->renderer, mask_buf, blur_frag_size, blur_frag_size, in draw_shadow()
688 lv_color_to_sdl_color(&dsc->shadow_color, &shadow_color); in draw_shadow()
694 frag_render_borders(ctx->renderer, texture, blur_frag_size, &shadow_area, clip, false); in draw_shadow()
695 frag_render_center(ctx->renderer, texture, blur_frag_size, &shadow_area, clip, false); in draw_shadow()
709 lv_color_to_sdl_color(&dsc->border_color, &border_color); in draw_border()
713 lv_coord_t rout = LV_MIN(dsc->radius, short_side / 2);/*Get the inner area*/ in draw_border()
716 …area_inner.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : -(dsc->border_wid… in draw_border()
717 …area_inner.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : -(dsc->border_wi… in draw_border()
718 …area_inner.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : -(dsc->border_widt… in draw_border()
719 …area_inner.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : -(dsc->border_w… in draw_border()
720 lv_coord_t rin = LV_MAX(rout - dsc->border_width, 0); in draw_border()
721 …draw_border_generic(ctx, coords, &area_inner, draw_area, rout, rin, dsc->border_color, dsc->border… in draw_border()
722 dsc->blend_mode); in draw_border()
730 lv_opa_t opa = dsc->outline_opa; in draw_outline()
739 lv_coord_t pad = dsc->outline_pad - 1; in draw_outline()
740 area_inner.x1 -= pad; in draw_outline()
741 area_inner.y1 -= pad; in draw_outline()
748 area_outer.x1 -= dsc->outline_width; in draw_outline()
749 area_outer.x2 += dsc->outline_width; in draw_outline()
750 area_outer.y1 -= dsc->outline_width; in draw_outline()
751 area_outer.y2 += dsc->outline_width; in draw_outline()
758 lv_coord_t rin = dsc->radius; in draw_outline()
762 lv_coord_t rout = rin + dsc->outline_width; in draw_outline()
764 …draw_border_generic(ctx, &area_outer, &area_inner, clip, rout, rin, dsc->outline_color, dsc->outli… in draw_outline()
765 dsc->blend_mode); in draw_outline()
774 SDL_Renderer * renderer = ctx->renderer; in draw_border_generic()
778 lv_coord_t max_side = LV_MAX4(key.offsets.x1, key.offsets.y1, -key.offsets.x2, -key.offsets.y2); in draw_border_generic()
784 …t lv_area_t frag_area = {0, 0, frag_size * 2 + FRAG_SPACING - 1, frag_size * 2 + FRAG_SPACING - 1}; in draw_border_generic()
837 border_area.x1 = coords->x1 + frag_size; in frag_render_borders()
838 border_area.y1 = coords->y1; in frag_render_borders()
839 border_area.x2 = coords->x2 - frag_size; in frag_render_borders()
840 border_area.y2 = coords->y1 + frag_size - 1; in frag_render_borders()
845 lv_coord_t sy = (lv_coord_t)(dst_area.y1 - border_area.y1); in frag_render_borders()
851 SDL_Rect src_rect = {frag_size - 1, sy, 1, lv_area_get_height(&dst_area)}; in frag_render_borders()
856 border_area.y1 = LV_MAX(coords->y2 - frag_size + 1, coords->y1 + frag_size); in frag_render_borders()
857 border_area.y2 = coords->y2; in frag_render_borders()
864 lv_coord_t sy = (lv_coord_t)(dst_area.y1 - border_area.y1); in frag_render_borders()
869 lv_coord_t sy = (lv_coord_t)(border_area.y2 - dst_area.y2); in frag_render_borders()
870 SDL_Rect src_rect = {frag_size - 1, sy, 1, dh}; in frag_render_borders()
875 border_area.x1 = coords->x1; in frag_render_borders()
876 border_area.y1 = coords->y1 + frag_size; in frag_render_borders()
877 border_area.x2 = coords->x1 + frag_size - 1; in frag_render_borders()
878 border_area.y2 = coords->y2 - frag_size; in frag_render_borders()
884 lv_coord_t sx = (lv_coord_t)(dst_area.x1 - border_area.x1); in frag_render_borders()
890 SDL_Rect src_rect = {sx, frag_size - 1, dw, 1}; in frag_render_borders()
895 border_area.x1 = LV_MAX(coords->x2 - frag_size + 1, coords->x1 + frag_size); in frag_render_borders()
896 border_area.x2 = coords->x2; in frag_render_borders()
903 lv_coord_t sx = (lv_coord_t)(dst_area.x1 - border_area.x1); in frag_render_borders()
908 lv_coord_t sx = (lv_coord_t)(border_area.x2 - dst_area.x2); in frag_render_borders()
909 SDL_Rect src_rect = {sx, frag_size - 1, dw, 1}; in frag_render_borders()
920 coords->x1 + frag_size, in frag_render_center()
921 coords->y1 + frag_size, in frag_render_center()
922 coords->x2 - frag_size, in frag_render_center()
923 coords->y2 - frag_size, in frag_render_center()
937 SDL_Rect src_rect = {frag_size - 1, frag_size - 1, 1, 1}; in frag_render_center()
952 …t_grad_frag_key_t rect_grad_frag_key_create(const lv_grad_dsc_t * grad, lv_coord_t w, lv_coord_t h, in rect_grad_frag_key_create() argument
958 key.stops_count = grad->stops_count; in rect_grad_frag_key_create()
959 key.dir = grad->dir; in rect_grad_frag_key_create()
960 for(uint8_t i = 0; i < grad->stops_count; i++) { in rect_grad_frag_key_create()
961 key.stops[i].frac = grad->stops[i].frac; in rect_grad_frag_key_create()
962 key.stops[i].color = grad->stops[i].color; in rect_grad_frag_key_create()
964 key.w = w; in rect_grad_frag_key_create()
975 key.stops_count = grad->stops_count; in rect_grad_strip_key_create()
976 key.dir = grad->dir; in rect_grad_strip_key_create()
977 for(uint8_t i = 0; i < grad->stops_count; i++) { in rect_grad_strip_key_create()
978 key.stops[i].frac = grad->stops[i].frac; in rect_grad_strip_key_create()
979 key.stops[i].color = grad->stops[i].color; in rect_grad_strip_key_create()
1004 key.offsets.x1 = inner_area->x1 - outer_area->x1; in rect_border_key_create()
1005 key.offsets.x2 = inner_area->x2 - outer_area->x2; in rect_border_key_create()
1006 key.offsets.y1 = inner_area->y1 - outer_area->y1; in rect_border_key_create()
1007 key.offsets.y2 = inner_area->y2 - outer_area->y2; in rect_border_key_create()