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



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

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

Functions [#functions]

<ApiMember kind="function" name="ppa_src_cf_supported" file="draw/espressif/ppa/lv_draw_ppa_private.h" line="87" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L87">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="104" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L104">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="121" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L121">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="135" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L135">
  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_color_format_to_ppa_srm" file="draw/espressif/ppa/lv_draw_ppa_private.h" line="149" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L149">
  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`          | <ApiLink name="uint8_t" display="uint8_t *" />               |             |
</ApiMember>

Typedefs [#typedefs]

<ApiMember kind="typedef" name="lv_draw_ppa_unit_t" file="draw/espressif/ppa/lv_draw_ppa_private.h" line="69" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L69">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="24" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/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="draw/espressif/ppa/lv_draw_ppa_private.h" line="163" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L163">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="164" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L164">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="167" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L167">
  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="draw/espressif/ppa/lv_draw_ppa_private.h" line="168" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/espressif/ppa/lv_draw_ppa_private.h#L168">
  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;lv_conf_internal.h&#x22;, &#x22;stddef.h&#x22;, &#x22;stdbool.h&#x22;, &#x22;stdint.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_log.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;]" 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_cache.h&#x22;, &#x22;lv_cache_class.h&#x22;, &#x22;lv_cache_entry.h&#x22;, &#x22;lv_cache_instance.h&#x22;, &#x22;lv_cache_lru_ll.h&#x22;, &#x22;lv_cache_lru_rb.h&#x22;, &#x22;lv_cache_private.h&#x22;, &#x22;lv_cache_sc_da.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_display.h&#x22;, &#x22;lv_draw.h&#x22;, &#x22;lv_draw_arc.h&#x22;, &#x22;lv_draw_blur.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_image.h&#x22;, &#x22;lv_draw_label.h&#x22;, &#x22;lv_draw_line.h&#x22;, &#x22;lv_draw_rect.h&#x22;, &#x22;lv_draw_triangle.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_group.h&#x22;, &#x22;lv_image_cache.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_image_header_cache.h&#x22;, &#x22;lv_indev.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_ll.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_matrix.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_obj.h&#x22;, &#x22;lv_obj_class.h&#x22;, &#x22;lv_obj_draw.h&#x22;, &#x22;lv_obj_event.h&#x22;, &#x22;lv_obj_pos.h&#x22;, &#x22;lv_obj_property.h&#x22;, &#x22;lv_obj_property_names.h&#x22;, &#x22;lv_obj_scroll.h&#x22;, &#x22;lv_obj_style.h&#x22;, &#x22;lv_obj_style_gen.h&#x22;, &#x22;lv_obj_tree.h&#x22;, &#x22;lv_observer.h&#x22;, &#x22;lv_os.h&#x22;, &#x22;lv_os_private.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_profiler.h&#x22;, &#x22;lv_profiler_builtin.h&#x22;, &#x22;lv_pthread.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_style_properties.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_sysmon.h&#x22;, &#x22;lv_sysmon_private.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
