# lv_nanovg_image_cache.h (/api/draw/nanovg/lv_nanovg_image_cache_h)



<ApiSummary functions="4" />

Functions [#functions]

<ApiTabs items="[&#x22;Getters (1)&#x22;,&#x22;Other (3)&#x22;]">
  <ApiTab value="Getters (1)">
    <ApiMember kind="function" name="lv_nanovg_image_cache_get_handle" file="draw/nanovg/lv_nanovg_image_cache.h" line="58" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/nanovg/lv_nanovg_image_cache.h#L58">
      lv_nanovg_image_cache_get_handle [#lv_nanovg_image_cache_get_handle]

      Get the image handle from the cache, create a new one if not found.

      ```c title=" " lineNumbers=1
      int lv_nanovg_image_cache_get_handle(struct _lv_draw_nanovg_unit_t *u, const void *src, lv_color32_t color, int image_flags, lv_image_header_t *header)
      ```

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

      | Name          | Type                                                                                | Description                            |
      | ------------- | ----------------------------------------------------------------------------------- | -------------------------------------- |
      | `u`           | <ApiLink name="_lv_draw_nanovg_unit_t" display="struct _lv_draw_nanovg_unit_t *" /> | pointer to the nanovg unit             |
      | `src`         | `const void *`                                                                      | the source image data                  |
      | `color`       | <ApiLink name="lv_color32_t" />                                                     | the color to apply                     |
      | `image_flags` | `int`                                                                               | the image flags                        |
      | `header`      | <ApiLink name="lv_image_header_t" display="lv_image_header_t *" />                  | the image header to fill (can be NULL) |

      **Returns:** `int` — the image handle, or -1 on failure
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (3)">
    <ApiMember kind="function" name="lv_nanovg_image_cache_init" file="draw/nanovg/lv_nanovg_image_cache.h" line="41" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/nanovg/lv_nanovg_image_cache.h#L41">
      lv_nanovg_image_cache_init [#lv_nanovg_image_cache_init]

      Initialize the image cache.

      ```c title=" " lineNumbers=1
      void lv_nanovg_image_cache_init(struct _lv_draw_nanovg_unit_t *u)
      ```

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

      | Name | Type                                                                                | Description                |
      | ---- | ----------------------------------------------------------------------------------- | -------------------------- |
      | `u`  | <ApiLink name="_lv_draw_nanovg_unit_t" display="struct _lv_draw_nanovg_unit_t *" /> | pointer to the nanovg unit |
    </ApiMember>

    <ApiMember kind="function" name="lv_nanovg_image_cache_deinit" file="draw/nanovg/lv_nanovg_image_cache.h" line="47" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/nanovg/lv_nanovg_image_cache.h#L47">
      lv_nanovg_image_cache_deinit [#lv_nanovg_image_cache_deinit]

      Deinitialize the image cache.

      ```c title=" " lineNumbers=1
      void lv_nanovg_image_cache_deinit(struct _lv_draw_nanovg_unit_t *u)
      ```

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

      | Name | Type                                                                                | Description                |
      | ---- | ----------------------------------------------------------------------------------- | -------------------------- |
      | `u`  | <ApiLink name="_lv_draw_nanovg_unit_t" display="struct _lv_draw_nanovg_unit_t *" /> | pointer to the nanovg unit |
    </ApiMember>

    <ApiMember kind="function" name="lv_nanovg_image_cache_drop" file="draw/nanovg/lv_nanovg_image_cache.h" line="69" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/nanovg/lv_nanovg_image_cache.h#L69">
      lv_nanovg_image_cache_drop [#lv_nanovg_image_cache_drop]

      Drop the image from the cache.

      ```c title=" " lineNumbers=1
      void lv_nanovg_image_cache_drop(struct _lv_draw_nanovg_unit_t *u, const void *src)
      ```

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

      | Name  | Type                                                                                | Description                |
      | ----- | ----------------------------------------------------------------------------------- | -------------------------- |
      | `u`   | <ApiLink name="_lv_draw_nanovg_unit_t" display="struct _lv_draw_nanovg_unit_t *" /> | pointer to the nanovg unit |
      | `src` | `const void *`                                                                      | the source image data      |
    </ApiMember>
  </ApiTab>
</ApiTabs>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_draw_image_private.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_array.h&#x22;, &#x22;lv_assert.h&#x22;, &#x22;lv_bidi.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_draw.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_image.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;]" />
