# lv_draw_sw_blend.h (/api/draw/sw/blend/lv_draw_sw_blend_h)



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

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

Functions [#functions]

<ApiMember kind="function" name="lv_draw_sw_blend" file="draw/sw/blend/lv_draw_sw_blend.h" line="52" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/blend/lv_draw_sw_blend.h#L52">
  lv_draw_sw_blend [#lv_draw_sw_blend]

  Call the blend function of the `layer`.

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

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

  | Name  | Type                                                                               | Description                                |
  | ----- | ---------------------------------------------------------------------------------- | ------------------------------------------ |
  | `t`   | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />                       |                                            |
  | `dsc` | <ApiLink name="lv_draw_sw_blend_dsc_t" display="const lv_draw_sw_blend_dsc_t *" /> | pointer to an initialized blend descriptor |
</ApiMember>

Structs [#structs]

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

  | Member    | Type                                          | Description |
  | --------- | --------------------------------------------- | ----------- |
  | `dest_cf` | <ApiLink name="lv_color_format_t" />          |             |
  | `handler` | <ApiLink name="lv_draw_sw_blend_handler_t" /> |             |
</ApiMember>

<TypeUsedBy name="lv_draw_sw_custom_blend_handler_t" count="1">
  * `lv_draw_sw_register_blend_handler` — param `handler`
</TypeUsedBy>

Typedefs [#typedefs]

<ApiMember kind="typedef" name="lv_draw_sw_blend_handler_t" file="draw/sw/blend/lv_draw_sw_blend.h" line="40" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/draw/sw/blend/lv_draw_sw_blend.h#L40">
  lv_draw_sw_blend_handler_t [#lv_draw_sw_blend_handler_t]

  ```c title=" " lineNumbers=1
  typedef void(* lv_draw_sw_blend_handler_t) (lv_draw_task_t *t, const lv_draw_sw_blend_dsc_t *dsc)
  ```

  Custom draw function for SW rendering.
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_draw_sw_mask.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_style.h&#x22;]" includedBy="[&#x22;lv_draw_sw_blend_private.h&#x22;, &#x22;lv_blend_riscv_v.h&#x22;, &#x22;lv_draw_sw.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.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_ext_data.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_grid.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_mem.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_sprintf.h&#x22;, &#x22;lv_string.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;]" />
