Lines Matching refs:dsc
34 …V_ATTRIBUTE_FAST_MEM */ draw_line_skew(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc);
35 …LV_ATTRIBUTE_FAST_MEM */ draw_line_hor(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc);
36 …LV_ATTRIBUTE_FAST_MEM */ draw_line_ver(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc);
50 void lv_draw_sw_line(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc) in lv_draw_sw_line() argument
52 if(dsc->width == 0) return; in lv_draw_sw_line()
53 if(dsc->opa <= LV_OPA_MIN) return; in lv_draw_sw_line()
55 if(dsc->p1.x == dsc->p2.x && dsc->p1.y == dsc->p2.y) return; in lv_draw_sw_line()
58 clip_line.x1 = (int32_t)LV_MIN(dsc->p1.x, dsc->p2.x) - dsc->width / 2; in lv_draw_sw_line()
59 clip_line.x2 = (int32_t)LV_MAX(dsc->p1.x, dsc->p2.x) + dsc->width / 2; in lv_draw_sw_line()
60 clip_line.y1 = (int32_t)LV_MIN(dsc->p1.y, dsc->p2.y) - dsc->width / 2; in lv_draw_sw_line()
61 clip_line.y2 = (int32_t)LV_MAX(dsc->p1.y, dsc->p2.y) + dsc->width / 2; in lv_draw_sw_line()
68 if((int32_t)dsc->p1.y == (int32_t)dsc->p2.y) draw_line_hor(draw_unit, dsc); in lv_draw_sw_line()
69 else if((int32_t)dsc->p1.x == (int32_t)dsc->p2.x) draw_line_ver(draw_unit, dsc); in lv_draw_sw_line()
70 else draw_line_skew(draw_unit, dsc); in lv_draw_sw_line()
72 if(dsc->round_end || dsc->round_start) { in lv_draw_sw_line()
75 cir_dsc.color = dsc->color; in lv_draw_sw_line()
77 cir_dsc.opa = dsc->opa; in lv_draw_sw_line()
79 int32_t r = (dsc->width >> 1); in lv_draw_sw_line()
80 int32_t r_corr = (dsc->width & 1) ? 0 : 1; in lv_draw_sw_line()
83 if(dsc->round_start) { in lv_draw_sw_line()
84 cir_area.x1 = (int32_t)dsc->p1.x - r; in lv_draw_sw_line()
85 cir_area.y1 = (int32_t)dsc->p1.y - r; in lv_draw_sw_line()
86 cir_area.x2 = (int32_t)dsc->p1.x + r - r_corr; in lv_draw_sw_line()
87 cir_area.y2 = (int32_t)dsc->p1.y + r - r_corr ; in lv_draw_sw_line()
91 if(dsc->round_end) { in lv_draw_sw_line()
92 cir_area.x1 = (int32_t)dsc->p2.x - r; in lv_draw_sw_line()
93 cir_area.y1 = (int32_t)dsc->p2.y - r; in lv_draw_sw_line()
94 cir_area.x2 = (int32_t)dsc->p2.x + r - r_corr; in lv_draw_sw_line()
95 cir_area.y2 = (int32_t)dsc->p2.y + r - r_corr ; in lv_draw_sw_line()
105 …oid LV_ATTRIBUTE_FAST_MEM draw_line_hor(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc) in draw_line_hor() argument
107 int32_t w = dsc->width - 1; in draw_line_hor()
112 blend_area.x1 = (int32_t)LV_MIN(dsc->p1.x, dsc->p2.x); in draw_line_hor()
113 blend_area.x2 = (int32_t)LV_MAX(dsc->p1.x, dsc->p2.x) - 1; in draw_line_hor()
114 blend_area.y1 = (int32_t)dsc->p1.y - w_half1; in draw_line_hor()
115 blend_area.y2 = (int32_t)dsc->p1.y + w_half0; in draw_line_hor()
121 bool dashed = dsc->dash_gap && dsc->dash_width; in draw_line_hor()
126 blend_dsc.color = dsc->color; in draw_line_hor()
127 blend_dsc.opa = dsc->opa; in draw_line_hor()
142 int32_t dash_start = blend_area.x1 % (dsc->dash_gap + dsc->dash_width); in draw_line_hor()
155 if(dash_cnt <= dsc->dash_width) { in draw_line_hor()
156 int16_t diff = dsc->dash_width - dash_cnt; in draw_line_hor()
160 else if(dash_cnt > dsc->dash_gap + dsc->dash_width) { in draw_line_hor()
180 …oid LV_ATTRIBUTE_FAST_MEM draw_line_ver(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc) in draw_line_ver() argument
182 int32_t w = dsc->width - 1; in draw_line_ver()
187 blend_area.x1 = (int32_t)dsc->p1.x - w_half1; in draw_line_ver()
188 blend_area.x2 = (int32_t)dsc->p1.x + w_half0; in draw_line_ver()
189 blend_area.y1 = (int32_t)LV_MIN(dsc->p1.y, dsc->p2.y); in draw_line_ver()
190 blend_area.y2 = (int32_t)LV_MAX(dsc->p1.y, dsc->p2.y) - 1; in draw_line_ver()
196 bool dashed = dsc->dash_gap && dsc->dash_width; in draw_line_ver()
201 blend_dsc.color = dsc->color; in draw_line_ver()
202 blend_dsc.opa = dsc->opa; in draw_line_ver()
221 int32_t dash_start = (blend_area.y1) % (dsc->dash_gap + dsc->dash_width); in draw_line_ver()
229 if(dash_cnt > dsc->dash_width) { in draw_line_ver()
236 if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { in draw_line_ver()
251 …id LV_ATTRIBUTE_FAST_MEM draw_line_skew(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc) in draw_line_skew() argument
257 if(dsc->p1.y < dsc->p2.y) { in draw_line_skew()
258 p1 = lv_point_from_precise(&dsc->p1); in draw_line_skew()
259 p2 = lv_point_from_precise(&dsc->p2); in draw_line_skew()
262 p1 = lv_point_from_precise(&dsc->p2); in draw_line_skew()
263 p2 = lv_point_from_precise(&dsc->p1); in draw_line_skew()
278 int32_t w = dsc->width; in draw_line_skew()
330 if(!dsc->raw_end) { in draw_line_skew()
359 blend_dsc.color = dsc->color; in draw_line_skew()
360 blend_dsc.opa = dsc->opa; in draw_line_skew()
397 if(!dsc->raw_end) { in draw_line_skew()
403 LV_UNUSED(dsc); in draw_line_skew()