# lv_draw_sw.h (/api/draw/sw/lv_draw_sw_h)



<RelatedHeaders name="lv_draw_sw_private.h" isPrivate="false" />

<ApiSummary functions="19" />

Functions [#functions]

<ApiTabs items="[&#x22;Getters (1)&#x22;,&#x22;Other (18)&#x22;]">
  <ApiTab value="Getters (1)">
    <ApiMember kind="function" name="lv_draw_sw_get_blend_handler" file="draw/sw/lv_draw_sw.h" line="192" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L192">
      lv_draw_sw_get_blend_handler [#lv_draw_sw_get_blend_handler]

      Get the blend handler for a color format.

      ```c title=" " lineNumbers=1
      lv_draw_sw_blend_handler_t lv_draw_sw_get_blend_handler(lv_color_format_t dest_cf)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                 | Description  |
      | --------- | ------------------------------------ | ------------ |
      | `dest_cf` | <ApiLink name="lv_color_format_t" /> | color format |

      **Returns:** <ApiLink name="lv_draw_sw_blend_handler_t" /> — pointer to the blend handler or NULL if no handler is registered
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (18)">
    <ApiMember kind="function" name="lv_draw_sw_init" file="draw/sw/lv_draw_sw.h" line="46" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L46">
      lv_draw_sw_init [#lv_draw_sw_init]

      Initialize the SW renderer. Called in internally. It creates as many SW renderers as defined in LV\_DRAW\_SW\_DRAW\_UNIT\_CNT

      ```c title=" " lineNumbers=1
      void lv_draw_sw_init(void)
      ```
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_deinit" file="draw/sw/lv_draw_sw.h" line="51" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L51">
      lv_draw_sw_deinit [#lv_draw_sw_deinit]

      Deinitialize the SW renderers

      ```c title=" " lineNumbers=1
      void lv_draw_sw_deinit(void)
      ```
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_fill" file="draw/sw/lv_draw_sw.h" line="59" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L59">
      lv_draw_sw_fill [#lv_draw_sw_fill]

      Fill an area using SW render. Handle gradient and radius.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_fill(lv_draw_task_t *t, lv_draw_fill_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                 | Description                      |
      | -------- | -------------------------------------------------------------------- | -------------------------------- |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />         | pointer to a draw task           |
      | `dsc`    | <ApiLink name="lv_draw_fill_dsc_t" display="lv_draw_fill_dsc_t *" /> | the draw descriptor              |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />             | the coordinates of the rectangle |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_border" file="draw/sw/lv_draw_sw.h" line="67" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L67">
      lv_draw_sw_border [#lv_draw_sw_border]

      Draw border with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_border(lv_draw_task_t *t, const lv_draw_border_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                           | Description                      |
      | -------- | ------------------------------------------------------------------------------ | -------------------------------- |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                   | pointer to a draw task           |
      | `dsc`    | <ApiLink name="lv_draw_border_dsc_t" display="const lv_draw_border_dsc_t *" /> | the draw descriptor              |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />                       | the coordinates of the rectangle |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_box_shadow" file="draw/sw/lv_draw_sw.h" line="75" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L75">
      lv_draw_sw_box_shadow [#lv_draw_sw_box_shadow]

      Draw box shadow with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_box_shadow(lv_draw_task_t *t, const lv_draw_box_shadow_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                                   | Description                                                               |
      | -------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                           | pointer to a draw task                                                    |
      | `dsc`    | <ApiLink name="lv_draw_box_shadow_dsc_t" display="const lv_draw_box_shadow_dsc_t *" /> | the draw descriptor                                                       |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />                               | the coordinates of the rectangle for which the box shadow should be drawn |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_image" file="draw/sw/lv_draw_sw.h" line="83" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L83">
      lv_draw_sw_image [#lv_draw_sw_image]

      Draw an image with SW render. It handles image decoding, tiling, transformations, and recoloring.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_image(lv_draw_task_t *t, const lv_draw_image_dsc_t *draw_dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                                                         | Description                  |
      | ---------- | ---------------------------------------------------------------------------- | ---------------------------- |
      | `t`        | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                 | pointer to a draw task       |
      | `draw_dsc` | <ApiLink name="lv_draw_image_dsc_t" display="const lv_draw_image_dsc_t *" /> | the draw descriptor          |
      | `coords`   | <ApiLink name="lv_area_t" display="const lv_area_t *" />                     | the coordinates of the image |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_letter" file="draw/sw/lv_draw_sw.h" line="86" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L86">
      lv_draw_sw_letter [#lv_draw_sw_letter]

      ```c title=" " lineNumbers=1
      void lv_draw_sw_letter(lv_draw_task_t *t, const lv_draw_letter_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                           |
      | -------- | ------------------------------------------------------------------------------ |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                   |
      | `dsc`    | <ApiLink name="lv_draw_letter_dsc_t" display="const lv_draw_letter_dsc_t *" /> |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />                       |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_label" file="draw/sw/lv_draw_sw.h" line="94" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L94">
      lv_draw_sw_label [#lv_draw_sw_label]

      Draw a label with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_label(lv_draw_task_t *t, const lv_draw_label_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                         | Description                  |
      | -------- | ---------------------------------------------------------------------------- | ---------------------------- |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                 | pointer to a draw task       |
      | `dsc`    | <ApiLink name="lv_draw_label_dsc_t" display="const lv_draw_label_dsc_t *" /> | the draw descriptor          |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />                     | the coordinates of the label |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_arc" file="draw/sw/lv_draw_sw.h" line="102" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L102">
      lv_draw_sw_arc [#lv_draw_sw_arc]

      Draw an arc with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_arc(lv_draw_task_t *t, const lv_draw_arc_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                     | Description                |
      | -------- | ------------------------------------------------------------------------ | -------------------------- |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />             | pointer to a draw task     |
      | `dsc`    | <ApiLink name="lv_draw_arc_dsc_t" display="const lv_draw_arc_dsc_t *" /> | the draw descriptor        |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />                 | the coordinates of the arc |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_line" file="draw/sw/lv_draw_sw.h" line="109" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L109">
      lv_draw_sw_line [#lv_draw_sw_line]

      Draw a line with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_line(lv_draw_task_t *t, const lv_draw_line_dsc_t *dsc)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                                                       | Description            |
      | ----- | -------------------------------------------------------------------------- | ---------------------- |
      | `t`   | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />               | pointer to a draw task |
      | `dsc` | <ApiLink name="lv_draw_line_dsc_t" display="const lv_draw_line_dsc_t *" /> | the draw descriptor    |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_layer" file="draw/sw/lv_draw_sw.h" line="117" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L117">
      lv_draw_sw_layer [#lv_draw_sw_layer]

      Blend a layer with SW render

      ```c title=" " lineNumbers=1
      void lv_draw_sw_layer(lv_draw_task_t *t, const lv_draw_image_dsc_t *draw_dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                                                         | Description                  |
      | ---------- | ---------------------------------------------------------------------------- | ---------------------------- |
      | `t`        | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                 | pointer to a draw task       |
      | `draw_dsc` | <ApiLink name="lv_draw_image_dsc_t" display="const lv_draw_image_dsc_t *" /> | the draw descriptor          |
      | `coords`   | <ApiLink name="lv_area_t" display="const lv_area_t *" />                     | the coordinates of the layer |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_triangle" file="draw/sw/lv_draw_sw.h" line="124" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L124">
      lv_draw_sw_triangle [#lv_draw_sw_triangle]

      Draw a triangle with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_triangle(lv_draw_task_t *t, const lv_draw_triangle_dsc_t *dsc)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                                                               | Description            |
      | ----- | ---------------------------------------------------------------------------------- | ---------------------- |
      | `t`   | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                       | pointer to a draw task |
      | `dsc` | <ApiLink name="lv_draw_triangle_dsc_t" display="const lv_draw_triangle_dsc_t *" /> | the draw descriptor    |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_blur" file="draw/sw/lv_draw_sw.h" line="133" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L133">
      lv_draw_sw_blur [#lv_draw_sw_blur]

      Blur an area with SW render

      ```c title=" " lineNumbers=1
      void lv_draw_sw_blur(lv_draw_task_t *t, const lv_draw_blur_dsc_t *dsc, const lv_area_t *coords)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                                       | Description            |
      | -------- | -------------------------------------------------------------------------- | ---------------------- |
      | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />               | pointer to a draw task |
      | `dsc`    | <ApiLink name="lv_draw_blur_dsc_t" display="const lv_draw_blur_dsc_t *" /> | the draw descriptor    |
      | `coords` | <ApiLink name="lv_area_t" display="const lv_area_t *" />                   | the area to blur       |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_mask_rect" file="draw/sw/lv_draw_sw.h" line="141" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L141">
      lv_draw_sw_mask_rect [#lv_draw_sw_mask_rect]

      Mask out a rectangle with radius from a current layer

      ```c title=" " lineNumbers=1
      void lv_draw_sw_mask_rect(lv_draw_task_t *t, const lv_draw_mask_rect_dsc_t *dsc)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                                                                 | Description            |
      | ----- | ------------------------------------------------------------------------------------ | ---------------------- |
      | `t`   | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                         | pointer to a draw task |
      | `dsc` | <ApiLink name="lv_draw_mask_rect_dsc_t" display="const lv_draw_mask_rect_dsc_t *" /> | the draw descriptor    |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_transform" file="draw/sw/lv_draw_sw.h" line="155" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L155">
      lv_draw_sw_transform [#lv_draw_sw_transform]

      Used internally to get a transformed are of an image

      ```c title=" " lineNumbers=1
      void lv_draw_sw_transform(const lv_area_t *dest_area, const void *src_buf, int32_t src_w, int32_t src_h, int32_t src_stride, const lv_draw_image_dsc_t *draw_dsc, const lv_draw_image_sup_t *sup, lv_color_format_t cf, void *dest_buf)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name         | Type                                                                         | Description                                                      |
      | ------------ | ---------------------------------------------------------------------------- | ---------------------------------------------------------------- |
      | `dest_area`  | <ApiLink name="lv_area_t" display="const lv_area_t *" />                     | area to calculate, i.e. get this area from the transformed image |
      | `src_buf`    | `const void *`                                                               | source buffer                                                    |
      | `src_w`      | <ApiLink name="int32_t" />                                                   | source buffer width in pixels                                    |
      | `src_h`      | <ApiLink name="int32_t" />                                                   | source buffer height in pixels                                   |
      | `src_stride` | <ApiLink name="int32_t" />                                                   | source buffer stride in bytes                                    |
      | `draw_dsc`   | <ApiLink name="lv_draw_image_dsc_t" display="const lv_draw_image_dsc_t *" /> | draw descriptor                                                  |
      | `sup`        | <ApiLink name="lv_draw_image_sup_t" display="const lv_draw_image_sup_t *" /> | supplementary data                                               |
      | `cf`         | <ApiLink name="lv_color_format_t" />                                         | color format of the source buffer                                |
      | `dest_buf`   | `void *`                                                                     | the destination buffer                                           |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_vector" file="draw/sw/lv_draw_sw.h" line="165" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L165">
      lv_draw_sw_vector [#lv_draw_sw_vector]

      Draw vector graphics with SW render.

      ```c title=" " lineNumbers=1
      void lv_draw_sw_vector(lv_draw_task_t *t, lv_draw_vector_dsc_t *dsc)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                                                     | Description            |
      | ----- | ------------------------------------------------------------------------ | ---------------------- |
      | `t`   | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />             | pointer to a draw task |
      | `dsc` | <ApiLink name="lv_draw_vector_dsc_t" display="lv_draw_vector_dsc_t *" /> | the draw descriptor    |
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_register_blend_handler" file="draw/sw/lv_draw_sw.h" line="178" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L178">
      lv_draw_sw_register_blend_handler [#lv_draw_sw_register_blend_handler]

      Register a custom blend handler for a color format. Handler will be called when blending a color or an image to a buffer with the given color format. At most one handler can be registered for a color format. Subsequent registrations will overwrite the previous handler.

      ```c title=" " lineNumbers=1
      bool lv_draw_sw_register_blend_handler(lv_draw_sw_custom_blend_handler_t *handler)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                                               | Description                |
      | --------- | -------------------------------------------------------------------------------------------------- | -------------------------- |
      | `handler` | <ApiLink name="lv_draw_sw_custom_blend_handler_t" display="lv_draw_sw_custom_blend_handler_t *" /> | pointer to a blend handler |

      **Returns:** <ApiLink name="bool" /> — true if the handler was registered, false if the handler could not be registered
    </ApiMember>

    <ApiMember kind="function" name="lv_draw_sw_unregister_blend_handler" file="draw/sw/lv_draw_sw.h" line="185" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/lv_draw_sw.h#L185">
      lv_draw_sw_unregister_blend_handler [#lv_draw_sw_unregister_blend_handler]

      Unregister a custom blend handler for a color format.

      ```c title=" " lineNumbers=1
      bool lv_draw_sw_unregister_blend_handler(lv_color_format_t dest_cf)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                 | Description  |
      | --------- | ------------------------------------ | ------------ |
      | `dest_cf` | <ApiLink name="lv_color_format_t" /> | color format |

      **Returns:** <ApiLink name="bool" /> — true if a handler was unregistered, false if no handler was registered
    </ApiMember>
  </ApiTab>
</ApiTabs>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_draw.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_display.h&#x22;, &#x22;lv_draw_vector.h&#x22;, &#x22;lv_draw_triangle.h&#x22;, &#x22;lv_draw_label.h&#x22;, &#x22;lv_draw_image.h&#x22;, &#x22;lv_draw_line.h&#x22;, &#x22;lv_draw_mask.h&#x22;, &#x22;lv_draw_arc.h&#x22;, &#x22;lv_draw_blur.h&#x22;, &#x22;lv_draw_sw_utils.h&#x22;, &#x22;lv_draw_sw_blend.h&#x22;]" includedBy="[&#x22;lv_global.h&#x22;, &#x22;lv_draw_dma2d_private.h&#x22;, &#x22;lv_draw_nema_gfx_utils.h&#x22;, &#x22;lv_draw_sw_blend_to_a8.h&#x22;, &#x22;lv_draw_sw_blend_to_al88.h&#x22;, &#x22;lv_draw_sw_blend_to_argb8888.h&#x22;, &#x22;lv_draw_sw_blend_to_argb8888_premultiplied.h&#x22;, &#x22;lv_draw_sw_blend_to_i1.h&#x22;, &#x22;lv_draw_sw_blend_to_l8.h&#x22;, &#x22;lv_draw_sw_blend_to_rgb565.h&#x22;, &#x22;lv_draw_sw_blend_to_rgb565_swapped.h&#x22;, &#x22;lv_draw_sw_blend_to_rgb888.h&#x22;, &#x22;lv_draw_sw_private.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_array.h&#x22;, &#x22;lv_assert.h&#x22;, &#x22;lv_bidi.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_conf_internal.h&#x22;, &#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_rect.h&#x22;, &#x22;lv_draw_sw_mask.h&#x22;, &#x22;lv_event.h&#x22;, &#x22;lv_ext_data.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_fs.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_grid.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_ll.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_matrix.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_profiler.h&#x22;, &#x22;lv_profiler_builtin.h&#x22;, &#x22;lv_sprintf.h&#x22;, &#x22;lv_string.h&#x22;, &#x22;lv_style.h&#x22;, &#x22;lv_style_gen.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
