# lv_draw_sw_blend_private.h (/api/draw/sw/blend/lv_draw_sw_blend_private_h)



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

<ApiSummary structs="3" />

Structs [#structs]

<ApiMember kind="struct" name="_lv_draw_sw_blend_dsc_t">
  \_lv_draw_sw_blend_dsc_t [#_lv_draw_sw_blend_dsc_t]

  | Member             | Type                                                     | Description                                                                                      |
  | ------------------ | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
  | `blend_area`       | <ApiLink name="lv_area_t" display="const lv_area_t *" /> | The area with absolute coordinates to draw on `layer->buf` will be clipped to `layer->clip_area` |
  | `src_buf`          | `const void *`                                           | Pointer to an image to blend. If set `fill_color` is ignored                                     |
  | `src_stride`       | <ApiLink name="uint32_t" />                              |                                                                                                  |
  | `src_color_format` | <ApiLink name="lv_color_format_t" />                     |                                                                                                  |
  | `src_area`         | <ApiLink name="lv_area_t" display="const lv_area_t *" /> |                                                                                                  |
  | `opa`              | <ApiLink name="lv_opa_t" />                              | The overall opacity                                                                              |
  | `color`            | <ApiLink name="lv_color_t" />                            | Fill color                                                                                       |
  | `mask_buf`         | <ApiLink name="lv_opa_t" display="const lv_opa_t *" />   | NULL if ignored, or an alpha mask to apply on `blend_area`                                       |
  | `mask_res`         | <ApiLink name="lv_draw_sw_mask_res_t" />                 | The result of the previous mask operation                                                        |
  | `mask_area`        | <ApiLink name="lv_area_t" display="const lv_area_t *" /> | The area of `mask_buf` with absolute coordinates                                                 |
  | `mask_stride`      | <ApiLink name="int32_t" />                               |                                                                                                  |
  | `blend_mode`       | <ApiLink name="lv_blend_mode_t" />                       | E.g. LV\_BLEND\_MODE\_ADDITIVE                                                                   |
</ApiMember>

<ApiMember kind="struct" name="_lv_draw_sw_blend_fill_dsc_t">
  \_lv_draw_sw_blend_fill_dsc_t [#_lv_draw_sw_blend_fill_dsc_t]

  | Member          | Type                                                   | Description |
  | --------------- | ------------------------------------------------------ | ----------- |
  | `dest_buf`      | `void *`                                               |             |
  | `dest_w`        | <ApiLink name="int32_t" />                             |             |
  | `dest_h`        | <ApiLink name="int32_t" />                             |             |
  | `dest_stride`   | <ApiLink name="int32_t" />                             |             |
  | `mask_buf`      | <ApiLink name="lv_opa_t" display="const lv_opa_t *" /> |             |
  | `mask_stride`   | <ApiLink name="int32_t" />                             |             |
  | `color`         | <ApiLink name="lv_color_t" />                          |             |
  | `opa`           | <ApiLink name="lv_opa_t" />                            |             |
  | `relative_area` | <ApiLink name="lv_area_t" />                           |             |
</ApiMember>

<ApiMember kind="struct" name="_lv_draw_sw_blend_image_dsc_t">
  \_lv_draw_sw_blend_image_dsc_t [#_lv_draw_sw_blend_image_dsc_t]

  | Member             | Type                                                   | Description                                         |
  | ------------------ | ------------------------------------------------------ | --------------------------------------------------- |
  | `dest_buf`         | `void *`                                               |                                                     |
  | `dest_w`           | <ApiLink name="int32_t" />                             |                                                     |
  | `dest_h`           | <ApiLink name="int32_t" />                             |                                                     |
  | `dest_stride`      | <ApiLink name="int32_t" />                             |                                                     |
  | `mask_buf`         | <ApiLink name="lv_opa_t" display="const lv_opa_t *" /> |                                                     |
  | `mask_stride`      | <ApiLink name="int32_t" />                             |                                                     |
  | `src_buf`          | `const void *`                                         |                                                     |
  | `src_stride`       | <ApiLink name="int32_t" />                             |                                                     |
  | `src_color_format` | <ApiLink name="lv_color_format_t" />                   |                                                     |
  | `opa`              | <ApiLink name="lv_opa_t" />                            |                                                     |
  | `blend_mode`       | <ApiLink name="lv_blend_mode_t" />                     |                                                     |
  | `relative_area`    | <ApiLink name="lv_area_t" />                           | The blend area relative to the layer's buffer area. |
  | `src_area`         | <ApiLink name="lv_area_t" />                           | The original src area.                              |
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_draw_sw_blend.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.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_internal.h&#x22;, &#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_sw_mask.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.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;]" />
