Lines Matching full:c

2  * @file lv_draw_sw_mask.c
61 static void circ_init(lv_point_t * c, int32_t * tmp, int32_t radius);
62 static bool circ_cont(lv_point_t * c);
63 static void circ_next(lv_point_t * c, int32_t * tmp);
64 static void circ_calc_aa4(lv_draw_sw_mask_radius_circle_dsc_t * c, int32_t radius);
65 static lv_opa_t * get_next_line(lv_draw_sw_mask_radius_circle_dsc_t * c, int32_t y, int32_t * len,
1032 * @param c pointer to a point. The coordinates will be calculated here
1036 static void circ_init(lv_point_t * c, int32_t * tmp, int32_t radius) in circ_init() argument
1038 c->x = radius; in circ_init()
1039 c->y = 0; in circ_init()
1045 * @param c same as in circ_init
1048 static bool circ_cont(lv_point_t * c) in circ_cont() argument
1050 return c->y <= c->x; in circ_cont()
1055 * @param c same as in circ_init. The next point stored here.
1058 static void circ_next(lv_point_t * c, int32_t * tmp) in circ_next() argument
1062 (*tmp) += 2 * c->y + 3; /*Change in decision criterion for y -> y+1*/ in circ_next()
1065 (*tmp) += 2 * (c->y - c->x) + 5; /*Change for y -> y+1, x -> x-1*/ in circ_next()
1066 c->x--; in circ_next()
1068 c->y++; in circ_next()
1071 static void circ_calc_aa4(lv_draw_sw_mask_radius_circle_dsc_t * c, int32_t radius) in circ_calc_aa4() argument
1074 c->radius = radius; in circ_calc_aa4()
1077 if(c->buf) lv_free(c->buf); in circ_calc_aa4()
1079 c->buf = lv_malloc(radius * 6 + 6); /*Use uint16_t for opa_start_on_y and x_start_on_y*/ in circ_calc_aa4()
1080 LV_ASSERT_MALLOC(c->buf); in circ_calc_aa4()
1081 c->cir_opa = c->buf; in circ_calc_aa4()
1082 c->opa_start_on_y = (uint16_t *)(c->buf + 2 * radius + 2); in circ_calc_aa4()
1083 c->x_start_on_y = (uint16_t *)(c->buf + 4 * radius + 4); in circ_calc_aa4()
1087 c->cir_opa[0] = 180; in circ_calc_aa4()
1088 c->opa_start_on_y[0] = 0; in circ_calc_aa4()
1089 c->opa_start_on_y[1] = 1; in circ_calc_aa4()
1090 c->x_start_on_y[0] = 0; in circ_calc_aa4()
1125 c->cir_opa[cir_size] = x_fract[0] + x_fract[1] + x_fract[2] + x_fract[3]; in circ_calc_aa4()
1126 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1133 c->cir_opa[cir_size] = x_fract[0]; in circ_calc_aa4()
1134 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1139 c->cir_opa[cir_size] = 1 * 4 + x_fract[1] + x_fract[2] + x_fract[3];; in circ_calc_aa4()
1140 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1147 c->cir_opa[cir_size] = x_fract[0] + x_fract[1]; in circ_calc_aa4()
1148 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1153 c->cir_opa[cir_size] = 2 * 4 + x_fract[2] + x_fract[3];; in circ_calc_aa4()
1154 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1161 c->cir_opa[cir_size] = x_fract[0] + x_fract[1] + x_fract[2]; in circ_calc_aa4()
1162 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1167 c->cir_opa[cir_size] = 3 * 4 + x_fract[3];; in circ_calc_aa4()
1168 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1193 c->cir_opa[cir_size] = tmp_val; in circ_calc_aa4()
1194 c->cir_opa[cir_size] *= 16; in circ_calc_aa4()
1202 c->cir_opa[cir_size] = c->cir_opa[i]; in circ_calc_aa4()
1207 c->opa_start_on_y[0] = 0; in circ_calc_aa4()
1209 c->opa_start_on_y[y] = i; in circ_calc_aa4()
1210 c->x_start_on_y[y] = cir_x[i]; in circ_calc_aa4()
1212 c->x_start_on_y[y] = LV_MIN(c->x_start_on_y[y], cir_x[i]); in circ_calc_aa4()
1220 static lv_opa_t * get_next_line(lv_draw_sw_mask_radius_circle_dsc_t * c, int32_t y, int32_t * len, in get_next_line() argument
1223 *len = c->opa_start_on_y[y + 1] - c->opa_start_on_y[y]; in get_next_line()
1224 *x_start = c->x_start_on_y[y]; in get_next_line()
1225 return &c->cir_opa[c->opa_start_on_y[y]]; in get_next_line()