lv_draw_nanovg_private.h

Defines

NANOVG_GLES2_IMPLEMENTATION

Typedefs

typedef struct _lv_draw_nanovg_unit_t lv_draw_nanovg_unit_t

Functions

void lv_draw_nanovg_arc(lv_draw_task_t *t, const lv_draw_arc_dsc_t *dsc, const lv_area_t *coords)

Draw arc on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to an arc descriptor

  • coords – the coordinates of the arc

void lv_draw_nanovg_border(lv_draw_task_t *t, const lv_draw_border_dsc_t *dsc, const lv_area_t *coords)

Draw border on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a border descriptor

  • coords – the coordinates of the border

void lv_draw_nanovg_box_shadow(lv_draw_task_t *t, const lv_draw_box_shadow_dsc_t *dsc, const lv_area_t *coords)

Draw box on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a box descriptor

  • coords – the coordinates of the box

void lv_draw_nanovg_fill(lv_draw_task_t *t, const lv_draw_fill_dsc_t *dsc, const lv_area_t *coords)

Fill a rectangle on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a fill descriptor

  • coords – the coordinates of the rectangle

void lv_draw_nanovg_image(lv_draw_task_t *t, const lv_draw_image_dsc_t *dsc, const lv_area_t *coords, int image_handle)

Draw image on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to an image descriptor

  • coords – the coordinates of the image

  • image_handle – the handle of the image to draw

void lv_draw_nanovg_label_init(lv_draw_nanovg_unit_t *u)

Initialize draw label on a NanoVG context

Parameters:

u – pointer to a NanoVG unit

void lv_draw_nanovg_label_deinit(lv_draw_nanovg_unit_t *u)

Deinitialize draw label on a NanoVG context

Parameters:

u – pointer to a NanoVG unit

void lv_draw_nanovg_letter(lv_draw_task_t *t, const lv_draw_letter_dsc_t *dsc, const lv_area_t *coords)

Draw letter on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a letter descriptor

  • coords – the coordinates of the letter

void lv_draw_nanovg_label(lv_draw_task_t *t, const lv_draw_label_dsc_t *dsc, const lv_area_t *coords)

Draw label on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a label descriptor

  • coords – the coordinates of the label

void lv_draw_nanovg_layer(lv_draw_task_t *t, const lv_draw_image_dsc_t *draw_dsc, const lv_area_t *coords)

Draw layer on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • draw_dsc – pointer to an image descriptor

  • coords – the coordinates of the layer

void lv_draw_nanovg_line(lv_draw_task_t *t, const lv_draw_line_dsc_t *dsc)

Draw line on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a line descriptor

void lv_draw_nanovg_triangle(lv_draw_task_t *t, const lv_draw_triangle_dsc_t *dsc)

Draw triangle on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a triangle descriptor

void lv_draw_nanovg_mask_rect(lv_draw_task_t *t, const lv_draw_mask_rect_dsc_t *dsc)

Draw mask rectangles on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a mask descriptor

int lv_nanovg_fb_get_image_handle(struct NVGLUframebuffer *fb)

Get image handle from framebuffer

Parameters:

fb – the framebuffer to get the image handle from

Returns:

the image handle

void lv_draw_nanovg_vector(lv_draw_task_t *t, const lv_draw_vector_dsc_t *dsc)

Draw vector graphics on a NanoVG context

Parameters:
  • t – pointer to a drawing task

  • dsc – pointer to a vector descriptor

bool lv_nanovg_grad_to_paint(NVGcontext *ctx, const lv_vector_gradient_t *grad, NVGpaint *paint)

Convert a gradient to a paint.

Parameters:
  • ctx – the nanovg context

  • grad – the gradient descriptor

  • paint – the paint to store the result

void lv_nanovg_draw_grad(NVGcontext *ctx, const lv_vector_gradient_t *grad, enum NVGwinding winding, enum NVGcompositeOperation composite_operation)

Draw a gradient.

Parameters:
  • ctx – the nanovg context

  • grad – the gradient descriptor

  • winding – the fill rule

  • composite_operation – the blend mode

void lv_nanovg_draw_grad_helper(NVGcontext *ctx, const lv_area_t *area, const lv_grad_dsc_t *grad_dsc, enum NVGwinding winding, enum NVGcompositeOperation composite_operation)

Draw a gradient with helper.

Parameters:
  • ctx – the nanovg context

  • area – the area to draw the gradient on

  • grad_dsc – the gradient descriptor

  • winding – the fill rule

  • composite_operation – the blend mode

struct _lv_draw_nanovg_unit_t

Public Members

lv_draw_unit_t base_unit
lv_layer_t *current_layer
NVGcontext *vg
bool is_started
lv_draw_buf_t *image_buf
lv_cache_t *image_cache
struct _lv_pending_t *image_pending
lv_ll_t image_drop_ll
const void *image_drop_src
lv_cache_t *letter_cache
struct _lv_pending_t *letter_pending
lv_cache_t *fbo_cache