# lv_draw_ppa_private.h (/api/private/draw/espressif/ppa/lv_draw_ppa_private_h)



<RelatedHeaders name="lv_draw_ppa.h" isPrivate="true" />

<ApiSummary functions="6" structs="1" typedefs="1" macros="5" />

Functions [#functions]

<ApiMember kind="function" name="ppa_src_cf_supported" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="90" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L90">
  ppa_src_cf_supported [#ppa_src_cf_supported]

  ```c title=" " lineNumbers=1
  static bool ppa_src_cf_supported(lv_color_format_t cf)
  ```

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

  | Name | Type                                 |
  | ---- | ------------------------------------ |
  | `cf` | <ApiLink name="lv_color_format_t" /> |
</ApiMember>

<ApiMember kind="function" name="ppa_dest_cf_supported" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="107" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L107">
  ppa_dest_cf_supported [#ppa_dest_cf_supported]

  ```c title=" " lineNumbers=1
  static bool ppa_dest_cf_supported(lv_color_format_t cf)
  ```

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

  | Name | Type                                 |
  | ---- | ------------------------------------ |
  | `cf` | <ApiLink name="lv_color_format_t" /> |
</ApiMember>

<ApiMember kind="function" name="lv_color_format_to_ppa_fill" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="124" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L124">
  lv_color_format_to_ppa_fill [#lv_color_format_to_ppa_fill]

  ```c title=" " lineNumbers=1
  static ppa_fill_color_mode_t lv_color_format_to_ppa_fill(lv_color_format_t lv_fmt)
  ```

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

  | Name     | Type                                 |
  | -------- | ------------------------------------ |
  | `lv_fmt` | <ApiLink name="lv_color_format_t" /> |
</ApiMember>

<ApiMember kind="function" name="lv_color_format_to_ppa_blend" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="138" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L138">
  lv_color_format_to_ppa_blend [#lv_color_format_to_ppa_blend]

  ```c title=" " lineNumbers=1
  static ppa_blend_color_mode_t lv_color_format_to_ppa_blend(lv_color_format_t lv_fmt)
  ```

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

  | Name     | Type                                 |
  | -------- | ------------------------------------ |
  | `lv_fmt` | <ApiLink name="lv_color_format_t" /> |
</ApiMember>

<ApiMember kind="function" name="lv_ppa_pic_w" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="152" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L152">
  lv_ppa_pic_w [#lv_ppa_pic_w]

  ```c title=" " lineNumbers=1
  static int32_t lv_ppa_pic_w(uint32_t stride, int32_t w, lv_color_format_t cf)
  ```

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

  | Name     | Type                                 |
  | -------- | ------------------------------------ |
  | `stride` | `uint32_t`                           |
  | `w`      | `int32_t`                            |
  | `cf`     | <ApiLink name="lv_color_format_t" /> |
</ApiMember>

<ApiMember kind="function" name="lv_color_format_to_ppa_srm" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="162" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L162">
  lv_color_format_to_ppa_srm [#lv_color_format_to_ppa_srm]

  ```c title=" " lineNumbers=1
  static ppa_srm_color_mode_t lv_color_format_to_ppa_srm(lv_color_format_t lv_fmt)
  ```

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

  | Name     | Type                                 |
  | -------- | ------------------------------------ |
  | `lv_fmt` | <ApiLink name="lv_color_format_t" /> |
</ApiMember>

Structs [#structs]

<ApiMember kind="struct" name="lv_draw_ppa_unit">
  lv_draw_ppa_unit [#lv_draw_ppa_unit]

  | Member            | Type                                                         | Description |
  | ----------------- | ------------------------------------------------------------ | ----------- |
  | `base_unit`       | <ApiLink name="lv_draw_unit_t" />                            |             |
  | `task_act`        | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" /> |             |
  | `srm_client`      | `ppa_client_handle_t`                                        |             |
  | `fill_client`     | `ppa_client_handle_t`                                        |             |
  | `blend_client`    | `ppa_client_handle_t`                                        |             |
  | `buf`             | `uint8_t *`                                                  |             |
  | `img_sw_fallback` | `bool`                                                       |             |
</ApiMember>

Typedefs [#typedefs]

<ApiMember kind="typedef" name="lv_draw_ppa_unit_t" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="72" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L72">
  lv_draw_ppa_unit_t [#lv_draw_ppa_unit_t]

  ```c title=" " lineNumbers=1
  typedef struct lv_draw_ppa_unit lv_draw_ppa_unit_t
  ```
</ApiMember>

Macros [#macros]

<ApiMember kind="macro" name="LV_PPA_NONBLOCKING_OPS" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="24" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L24">
  LV_PPA_NONBLOCKING_OPS [#lv_ppa_nonblocking_ops]

  ```c title=" " lineNumbers=1
  #define LV_PPA_NONBLOCKING_OPS 0
  ```
</ApiMember>

<ApiMember kind="macro" name="PPA_ALIGN_UP" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="176" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L176">
  PPA_ALIGN_UP [#ppa_align_up]

  ```c title=" " lineNumbers=1
  #define PPA_ALIGN_UP(x, align) \
      ((((x) + (align) - 1) / (align)) * (align))
  ```
</ApiMember>

<ApiMember kind="macro" name="PPA_PTR_ALIGN_UP" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="177" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L177">
  PPA_PTR_ALIGN_UP [#ppa_ptr_align_up]

  ```c title=" " lineNumbers=1
  #define PPA_PTR_ALIGN_UP(p, align) \
      ((void*)(((uintptr_t)(p) + (uintptr_t)((align) - 1)) & ~(uintptr_t)((align) - 1)))
  ```
</ApiMember>

<ApiMember kind="macro" name="PPA_ALIGN_DOWN" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="180" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L180">
  PPA_ALIGN_DOWN [#ppa_align_down]

  ```c title=" " lineNumbers=1
  #define PPA_ALIGN_DOWN(x, align) \
      ((((x) - (align) - 1) / (align)) * (align))
  ```
</ApiMember>

<ApiMember kind="macro" name="PPA_PTR_ALIGN_DOWN" file="private/draw/espressif/ppa/lv_draw_ppa_private.h" line="181" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/espressif/ppa/lv_draw_ppa_private.h#L181">
  PPA_PTR_ALIGN_DOWN [#ppa_ptr_align_down]

  ```c title=" " lineNumbers=1
  #define PPA_PTR_ALIGN_DOWN(p, align) \
      ((void*)(((uintptr_t)(p) - (uintptr_t)((align) - 1)) & ~(uintptr_t)((align) - 1)))
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lvgl_public.h&#x22;, &#x22;lv_draw_private.h&#x22;, &#x22;lv_display_private.h&#x22;, &#x22;lv_area_private.h&#x22;, &#x22;sdkconfig.h&#x22;, &#x22;ppa.h&#x22;, &#x22;esp_heap_caps.h&#x22;, &#x22;esp_err.h&#x22;, &#x22;color_hal.h&#x22;, &#x22;esp_cache.h&#x22;, &#x22;esp_log.h&#x22;]" includedBy="[&#x22;lvgl_private.h&#x22;]" transitiveIncludes="[&#x22;lv_array.h&#x22;, &#x22;lv_cache.h&#x22;, &#x22;lv_cache_class.h&#x22;, &#x22;lv_cache_entry.h&#x22;, &#x22;lv_cache_lru_ll.h&#x22;, &#x22;lv_cache_lru_rb.h&#x22;, &#x22;lv_cache_sc_da.h&#x22;, &#x22;lv_event_private.h&#x22;, &#x22;lv_image_cache.h&#x22;, &#x22;lv_iter_private.h&#x22;, &#x22;lv_os_private.h&#x22;, &#x22;lv_sysmon_private.h&#x22;]" />
