# lv_draw_dma2d_private.h (/api/draw/dma2d/lv_draw_dma2d_private_h)



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

<ApiSummary functions="7" enums="4" structs="3" macros="2" />

Functions [#functions]

<ApiMember kind="function" name="lv_draw_dma2d_opaque_fill" file="draw/dma2d/lv_draw_dma2d_private.h" line="131" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L131">
  lv_draw_dma2d_opaque_fill [#lv_draw_dma2d_opaque_fill]

  ```c title=" " lineNumbers=1
  void lv_draw_dma2d_opaque_fill(lv_draw_task_t *t, void *first_pixel, int32_t w, int32_t h, int32_t stride)
  ```

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

  | Name          | Type                                                         |
  | ------------- | ------------------------------------------------------------ |
  | `t`           | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" /> |
  | `first_pixel` | `void *`                                                     |
  | `w`           | <ApiLink name="int32_t" />                                   |
  | `h`           | <ApiLink name="int32_t" />                                   |
  | `stride`      | <ApiLink name="int32_t" />                                   |
</ApiMember>

<ApiMember kind="function" name="lv_draw_dma2d_fill" file="draw/dma2d/lv_draw_dma2d_private.h" line="132" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L132">
  lv_draw_dma2d_fill [#lv_draw_dma2d_fill]

  ```c title=" " lineNumbers=1
  void lv_draw_dma2d_fill(lv_draw_task_t *t, void *first_pixel, int32_t w, int32_t h, int32_t stride)
  ```

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

  | Name          | Type                                                         |
  | ------------- | ------------------------------------------------------------ |
  | `t`           | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" /> |
  | `first_pixel` | `void *`                                                     |
  | `w`           | <ApiLink name="int32_t" />                                   |
  | `h`           | <ApiLink name="int32_t" />                                   |
  | `stride`      | <ApiLink name="int32_t" />                                   |
</ApiMember>

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

  ```c title=" " lineNumbers=1
  void lv_draw_dma2d_opaque_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                                                                         |
  | ---------- | ---------------------------------------------------------------------------- |
  | `t`        | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                 |
  | `draw_dsc` | <ApiLink name="lv_draw_image_dsc_t" display="const lv_draw_image_dsc_t *" /> |
  | `coords`   | <ApiLink name="lv_area_t" display="const lv_area_t *" />                     |
</ApiMember>

<ApiMember kind="function" name="lv_draw_dma2d_image" file="draw/dma2d/lv_draw_dma2d_private.h" line="135" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L135">
  lv_draw_dma2d_image [#lv_draw_dma2d_image]

  ```c title=" " lineNumbers=1
  void lv_draw_dma2d_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                                                                         |
  | ---------- | ---------------------------------------------------------------------------- |
  | `t`        | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                 |
  | `draw_dsc` | <ApiLink name="lv_draw_image_dsc_t" display="const lv_draw_image_dsc_t *" /> |
  | `coords`   | <ApiLink name="lv_area_t" display="const lv_area_t *" />                     |
</ApiMember>

<ApiMember kind="function" name="lv_draw_dma2d_cf_to_dma2d_output_cf" file="draw/dma2d/lv_draw_dma2d_private.h" line="137" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L137">
  lv_draw_dma2d_cf_to_dma2d_output_cf [#lv_draw_dma2d_cf_to_dma2d_output_cf]

  ```c title=" " lineNumbers=1
  lv_draw_dma2d_output_cf_t lv_draw_dma2d_cf_to_dma2d_output_cf(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_draw_dma2d_color_to_dma2d_color" file="draw/dma2d/lv_draw_dma2d_private.h" line="138" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L138">
  lv_draw_dma2d_color_to_dma2d_color [#lv_draw_dma2d_color_to_dma2d_color]

  ```c title=" " lineNumbers=1
  uint32_t lv_draw_dma2d_color_to_dma2d_color(lv_draw_dma2d_output_cf_t cf, lv_color_t color)
  ```

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

  | Name    | Type                                         |
  | ------- | -------------------------------------------- |
  | `cf`    | <ApiLink name="lv_draw_dma2d_output_cf_t" /> |
  | `color` | <ApiLink name="lv_color_t" />                |
</ApiMember>

<ApiMember kind="function" name="lv_draw_dma2d_configure_and_start_transfer" file="draw/dma2d/lv_draw_dma2d_private.h" line="139" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L139">
  lv_draw_dma2d_configure_and_start_transfer [#lv_draw_dma2d_configure_and_start_transfer]

  ```c title=" " lineNumbers=1
  void lv_draw_dma2d_configure_and_start_transfer(const lv_draw_dma2d_configuration_t *conf)
  ```

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

  | Name   | Type                                                                                             |
  | ------ | ------------------------------------------------------------------------------------------------ |
  | `conf` | <ApiLink name="lv_draw_dma2d_configuration_t" display="const lv_draw_dma2d_configuration_t *" /> |
</ApiMember>

Enums [#enums]

<ApiMember kind="enum" name="lv_draw_dma2d_output_cf_t" file="draw/dma2d/lv_draw_dma2d_private.h" line="44" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L44">
  lv_draw_dma2d_output_cf_t [#lv_draw_dma2d_output_cf_t]

  | Name                               | Value |
  | ---------------------------------- | ----- |
  | `LV_DRAW_DMA2D_OUTPUT_CF_ARGB8888` | `0`   |
  | `LV_DRAW_DMA2D_OUTPUT_CF_RGB888`   |       |
  | `LV_DRAW_DMA2D_OUTPUT_CF_RGB565`   |       |
  | `LV_DRAW_DMA2D_OUTPUT_CF_ARGB1555` |       |
  | `LV_DRAW_DMA2D_OUTPUT_CF_ARGB4444` |       |
</ApiMember>

<TypeUsedBy name="lv_draw_dma2d_output_cf_t" count="1">
  * `lv_draw_dma2d_color_to_dma2d_color` — param `cf`
</TypeUsedBy>

<ApiMember kind="enum" name="lv_draw_dma2d_fgbg_cf_t" file="draw/dma2d/lv_draw_dma2d_private.h" line="52" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L52">
  lv_draw_dma2d_fgbg_cf_t [#lv_draw_dma2d_fgbg_cf_t]

  | Name                             | Value |
  | -------------------------------- | ----- |
  | `LV_DRAW_DMA2D_FGBG_CF_ARGB8888` | `0`   |
  | `LV_DRAW_DMA2D_FGBG_CF_RGB888`   |       |
  | `LV_DRAW_DMA2D_FGBG_CF_RGB565`   |       |
  | `LV_DRAW_DMA2D_FGBG_CF_ARGB1555` |       |
  | `LV_DRAW_DMA2D_FGBG_CF_ARGB4444` |       |
  | `LV_DRAW_DMA2D_FGBG_CF_L8`       |       |
  | `LV_DRAW_DMA2D_FGBG_CF_AL44`     |       |
  | `LV_DRAW_DMA2D_FGBG_CF_AL88`     |       |
  | `LV_DRAW_DMA2D_FGBG_CF_L4`       |       |
  | `LV_DRAW_DMA2D_FGBG_CF_A8`       |       |
  | `LV_DRAW_DMA2D_FGBG_CF_A4`       |       |
  | `LV_DRAW_DMA2D_FGBG_CF_YCBCR`    |       |
</ApiMember>

<ApiMember kind="enum" name="lv_draw_dma2d_mode_t" file="draw/dma2d/lv_draw_dma2d_private.h" line="67" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L67">
  lv_draw_dma2d_mode_t [#lv_draw_dma2d_mode_t]

  | Name                                                                   | Value |
  | ---------------------------------------------------------------------- | ----- |
  | `LV_DRAW_DMA2D_MODE_MEMORY_TO_MEMORY`                                  | `0`   |
  | `LV_DRAW_DMA2D_MODE_MEMORY_TO_MEMORY_WITH_PFC`                         |       |
  | `LV_DRAW_DMA2D_MODE_MEMORY_TO_MEMORY_WITH_BLENDING`                    |       |
  | `LV_DRAW_DMA2D_MODE_REGISTER_TO_MEMORY`                                |       |
  | `LV_DRAW_DMA2D_MODE_MEMORY_TO_MEMORY_WITH_BLENDING_AND_FIXED_COLOR_FG` |       |
  | `LV_DRAW_DMA2D_MODE_MEMORY_TO_MEMORY_WITH_BLENDING_AND_FIXED_COLOR_BG` |       |
</ApiMember>

<ApiMember kind="enum" name="lv_draw_dma2d_alpha_mode_t" file="draw/dma2d/lv_draw_dma2d_private.h" line="76" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L76">
  lv_draw_dma2d_alpha_mode_t [#lv_draw_dma2d_alpha_mode_t]

  | Name                                                     | Value |
  | -------------------------------------------------------- | ----- |
  | `LV_DRAW_DMA2D_ALPHA_MODE_NO_MODIFY_IMAGE_ALPHA_CHANNEL` | `0`   |
  | `LV_DRAW_DMA2D_ALPHA_MODE_REPLACE_ALPHA_CHANNEL`         |       |
  | `LV_DRAW_DMA2D_ALPHA_MODE_MULTIPLY_IMAGE_ALPHA_CHANNEL`  |       |
</ApiMember>

Structs [#structs]

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

  | Member                  | Type                                         | Description |
  | ----------------------- | -------------------------------------------- | ----------- |
  | `mode`                  | <ApiLink name="lv_draw_dma2d_mode_t" />      |             |
  | `w`                     | <ApiLink name="uint32_t" />                  |             |
  | `h`                     | <ApiLink name="uint32_t" />                  |             |
  | `output_address`        | `void *`                                     |             |
  | `output_offset`         | <ApiLink name="uint32_t" />                  |             |
  | `output_cf`             | <ApiLink name="lv_draw_dma2d_output_cf_t" /> |             |
  | `reg_to_mem_mode_color` | <ApiLink name="uint32_t" />                  |             |
  | `fg_address`            | `const void *`                               |             |
  | `fg_offset`             | <ApiLink name="uint32_t" />                  |             |
  | `fg_cf`                 | <ApiLink name="lv_draw_dma2d_fgbg_cf_t" />   |             |
  | `fg_color`              | <ApiLink name="uint32_t" />                  |             |
  | `fg_alpha_mode`         | <ApiLink name="uint32_t" />                  |             |
  | `fg_alpha`              | <ApiLink name="uint32_t" />                  |             |
  | `bg_address`            | `const void *`                               |             |
  | `bg_offset`             | <ApiLink name="uint32_t" />                  |             |
  | `bg_cf`                 | <ApiLink name="lv_draw_dma2d_fgbg_cf_t" />   |             |
  | `bg_color`              | <ApiLink name="uint32_t" />                  |             |
  | `bg_alpha_mode`         | <ApiLink name="uint32_t" />                  |             |
  | `bg_alpha`              | <ApiLink name="uint32_t" />                  |             |
</ApiMember>

<TypeUsedBy name="lv_draw_dma2d_configuration_t" count="1">
  * `lv_draw_dma2d_configure_and_start_transfer` — param `conf`
</TypeUsedBy>

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

  | Member        | Type                        | Description |
  | ------------- | --------------------------- | ----------- |
  | `first_byte`  | `const void *`              |             |
  | `width_bytes` | <ApiLink name="uint32_t" /> |             |
  | `height`      | <ApiLink name="uint32_t" /> |             |
  | `stride`      | <ApiLink name="uint32_t" /> |             |
</ApiMember>

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

  | Member             | Type                                                                 | Description |
  | ------------------ | -------------------------------------------------------------------- | ----------- |
  | `base_unit`        | <ApiLink name="lv_draw_unit_t" />                                    |             |
  | `task_act`         | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *volatile" /> |             |
  | `interrupt_signal` | `lv_thread_sync_t`                                                   |             |
</ApiMember>

Macros [#macros]

<ApiMember kind="macro" name="LV_DRAW_DMA2D_ASYNC" file="draw/dma2d/lv_draw_dma2d_private.h" line="29" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L29">
  LV_DRAW_DMA2D_ASYNC [#lv_draw_dma2d_async]

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

<ApiMember kind="macro" name="LV_DRAW_DMA2D_CACHE" file="draw/dma2d/lv_draw_dma2d_private.h" line="37" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/dma2d/lv_draw_dma2d_private.h#L37">
  LV_DRAW_DMA2D_CACHE [#lv_draw_dma2d_cache]

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

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_draw_dma2d.h&#x22;, &#x22;lv_draw_private.h&#x22;, &#x22;lv_draw_sw.h&#x22;, &#x22;stm32h7xx_hal.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.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_conf_internal.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_mask.h&#x22;, &#x22;lv_draw_rect.h&#x22;, &#x22;lv_draw_sw_blend.h&#x22;, &#x22;lv_draw_sw_mask.h&#x22;, &#x22;lv_draw_sw_utils.h&#x22;, &#x22;lv_draw_triangle.h&#x22;, &#x22;lv_draw_vector.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_cache.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_image_header_cache.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_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_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
