Lines Matching refs:state

286     lv_grad_radial_state_t * state = lv_malloc(sizeof(lv_grad_radial_state_t));  in lv_gradient_radial_setup()  local
287 dsc->state = state; in lv_gradient_radial_setup()
308 state->cgrad = lv_gradient_get(dsc, 256, 0); in lv_gradient_radial_setup()
310 state->x0 = start.x; in lv_gradient_radial_setup()
311 state->y0 = start.y; in lv_gradient_radial_setup()
312 state->r0 = r_start; in lv_gradient_radial_setup()
316 state->a4 = lv_sqr(dr) << 2; in lv_gradient_radial_setup()
317 state->bpx = 0; in lv_gradient_radial_setup()
318 state->bpy = 0; in lv_gradient_radial_setup()
319 state->bc = (state->r0 * dr) << 1; in lv_gradient_radial_setup()
320 state->dx = 0; in lv_gradient_radial_setup()
321 state->inv_dr = (1 << (8 + 16)) / dr; in lv_gradient_radial_setup()
326 state->dx = dx; /* needed for incremental calculation */ in lv_gradient_radial_setup()
327 state->a4 = (lv_sqr(dr) - lv_sqr(dx) - lv_sqr(dy)) << 2; in lv_gradient_radial_setup()
329 state->bpx = dx << 1; in lv_gradient_radial_setup()
330 state->bpy = dy << 1; in lv_gradient_radial_setup()
331 state->bc = (state->r0 * dr - state->x0 * dx - state->y0 * dy) << 1; in lv_gradient_radial_setup()
333 state->inv_a4 = state->a4 != 0 ? (1 << (13 + 16)) / state->a4 : 0; in lv_gradient_radial_setup()
339 … lv_area_set(&state->clip_area, end.x - r_end, end.y - r_end, end.x + r_end, end.y + r_end); in lv_gradient_radial_setup()
342 …lv_area_set(&state->clip_area, start.x - r_start, start.y - r_start, start.x + r_start, start.y +… in lv_gradient_radial_setup()
346 state->clip_area.x1 = -0x7fffffff; in lv_gradient_radial_setup()
352 lv_grad_radial_state_t * state = dsc->state; in lv_gradient_radial_cleanup() local
353 if(state == NULL) in lv_gradient_radial_cleanup()
355 if(state->cgrad) in lv_gradient_radial_cleanup()
356 lv_gradient_cleanup(state->cgrad); in lv_gradient_radial_cleanup()
357 lv_free(state); in lv_gradient_radial_cleanup()
363 lv_grad_radial_state_t * state = (lv_grad_radial_state_t *)dsc->state; in lv_gradient_radial_get_line() local
366 lv_grad_t * grad = state->cgrad; in lv_gradient_radial_get_line()
372 if(state->clip_area.x1 != -0x7fffffff) { in lv_gradient_radial_get_line()
384 if(yp < state->clip_area.y1 || in lv_gradient_radial_get_line()
385 yp >= state->clip_area.y2 || in lv_gradient_radial_get_line()
386 xp >= state->clip_area.x2 || in lv_gradient_radial_get_line()
387 xp + width < state->clip_area.x1) { in lv_gradient_radial_get_line()
391 int32_t _x1 = LV_MAX(xp, state->clip_area.x1); in lv_gradient_radial_get_line()
392 int32_t _x2 = LV_MIN(xp + width, state->clip_area.x2); in lv_gradient_radial_get_line()
400 b = xp * state->bpx + yp * state->bpy + state->bc; in lv_gradient_radial_get_line()
401 c = lv_sqr(state->r0) - lv_sqr(xp - state->x0) - lv_sqr(yp - state->y0); in lv_gradient_radial_get_line()
403 db = state->dx << 1; in lv_gradient_radial_get_line()
404 dc = ((xp - state->x0) << 1) + 1; in lv_gradient_radial_get_line()
406 if(state->a4 == 0) { /* not a quadratic equation: solve linear equation: w = -c/b */ in lv_gradient_radial_get_line()
417 if(state->bpx || in lv_gradient_radial_get_line()
418state->bpy) { /* general case (circles are not concentric): w = (-b + sqrt(b^2 - 4ac))/2a (we o… in lv_gradient_radial_get_line()
419 int32_t a4 = state->a4 >> 4; in lv_gradient_radial_get_line()
423 w = det < 0 ? 0 : extend_w(((lv_sqrt32(det) - (b >> 4)) * state->inv_a4) >> 16, in lv_gradient_radial_get_line()
433 c = lv_sqr(xp - state->x0) + lv_sqr(yp - state->y0); in lv_gradient_radial_get_line()
435 w = extend_w((((lv_sqrt32(c) - state->r0)) * state->inv_dr) >> 16, dsc->extend); in lv_gradient_radial_get_line()
473 lv_grad_linear_state_t * state = lv_malloc(sizeof(lv_grad_linear_state_t)); in lv_gradient_linear_setup() local
474 dsc->state = state; in lv_gradient_linear_setup()
477 state->cgrad = lv_gradient_get(dsc, 256, 0); in lv_gradient_linear_setup()
493 state->a = (dx << 16) / l2; in lv_gradient_linear_setup()
494 state->b = (dy << 16) / l2; in lv_gradient_linear_setup()
495 state->c = ((start.x * dx + start.y * dy) << 16) / l2; in lv_gradient_linear_setup()
500 lv_grad_linear_state_t * state = dsc->state; in lv_gradient_linear_cleanup() local
501 if(state == NULL) in lv_gradient_linear_cleanup()
503 if(state->cgrad) in lv_gradient_linear_cleanup()
504 lv_free(state->cgrad); in lv_gradient_linear_cleanup()
505 lv_free(state); in lv_gradient_linear_cleanup()
511 lv_grad_linear_state_t * state = (lv_grad_linear_state_t *)dsc->state; in lv_gradient_linear_get_line() local
514 lv_grad_t * grad = state->cgrad; in lv_gradient_linear_get_line()
519 x = xp * state->a + yp * state->b - state->c; in lv_gradient_linear_get_line()
520 d = state->a; in lv_gradient_linear_get_line()
547 lv_grad_conical_state_t * state = lv_malloc(sizeof(lv_grad_conical_state_t)); in lv_gradient_conical_setup() local
548 dsc->state = state; in lv_gradient_conical_setup()
551 state->cgrad = lv_gradient_get(dsc, 256, 0); in lv_gradient_conical_setup()
563 state->x0 = c0.x; in lv_gradient_conical_setup()
564 state->y0 = c0.y; in lv_gradient_conical_setup()
565 state->a = alpha; in lv_gradient_conical_setup()
566 state->da = beta - alpha; in lv_gradient_conical_setup()
567 state->inv_da = (1 << 16) / (beta - alpha); in lv_gradient_conical_setup()
572 lv_grad_conical_state_t * state = dsc->state; in lv_gradient_conical_cleanup() local
573 if(state == NULL) in lv_gradient_conical_cleanup()
575 if(state->cgrad) in lv_gradient_conical_cleanup()
576 lv_free(state->cgrad); in lv_gradient_conical_cleanup()
577 lv_free(state); in lv_gradient_conical_cleanup()
583 lv_grad_conical_state_t * state = (lv_grad_conical_state_t *)dsc->state; in lv_gradient_conical_get_line() local
586 lv_grad_t * grad = state->cgrad; in lv_gradient_conical_get_line()
589 int32_t dx = xp - state->x0; in lv_gradient_conical_get_line()
590 int32_t dy = yp - state->y0; in lv_gradient_conical_get_line()
598 int32_t d = lv_atan2(dy, dx) - state->a; in lv_gradient_conical_get_line()
601 w = extend_w((d * state->inv_da) >> 8, dsc->extend); in lv_gradient_conical_get_line()
610 int32_t d = lv_atan2(dy, dx) - state->a; in lv_gradient_conical_get_line()
613 w = extend_w((d * state->inv_da) >> 8, dsc->extend); in lv_gradient_conical_get_line()