lv_draw_arc.h

Functions

void lv_draw_arc_dsc_init(lv_draw_arc_dsc_t *dsc)
void lv_draw_arc(struct _lv_draw_ctx_t *draw_ctx, const lv_draw_arc_dsc_t *dsc, const lv_point_t *center, uint16_t radius, uint16_t start_angle, uint16_t end_angle)

Draw an arc. (Can draw pie too with great thickness.)

Parameters:
  • draw_ctx -- pointer to the current draw context

  • dsc -- pointer to an initialized lv_draw_line_dsc_t variable

  • center -- the center of the arc

  • radius -- the radius of the arc

  • start_angle -- the start angle of the arc (0 deg on the bottom, 90 deg on the right)

  • end_angle -- the end angle of the arc

void lv_draw_arc_get_area(lv_coord_t x, lv_coord_t y, uint16_t radius, uint16_t start_angle, uint16_t end_angle, lv_coord_t w, bool rounded, lv_area_t *area)

Get an area the should be invalidated when the arcs angle changed between start_angle and end_ange

Parameters:
  • x -- the x coordinate of the center of the arc

  • y -- the y coordinate of the center of the arc

  • radius -- the radius of the arc

  • start_angle -- the start angle of the arc (0 deg on the bottom, 90 deg on the right)

  • end_angle -- the end angle of the arc

  • w -- width of the arc

  • rounded -- true: the arc is rounded

  • area -- store the area to invalidate here

struct lv_draw_arc_dsc_t

Public Members

lv_color_t color
lv_coord_t width
uint16_t start_angle
uint16_t end_angle
const void *img_src
lv_opa_t opa
lv_blend_mode_t blend_mode
uint8_t rounded