vg_lite_blend_t
enumeration
This enumeration defines the blending modes supported by some VGLite API functions. S and D represent source and destination non-premultiplied RGB color channels. Sa and Da represent the source and destination alpha channels. SP and DP represent source and destination alpha-premultiplied RGB color channels (SP = S*Sa, DP = D*Da).
Note: VG_LITE_BLEND_*_LVGL
modes are supported on all VG cores. On VG cores that do not support gcFEATURE_BIT_VG_LVGL_SUPPORT
, the LVGL blend modes are supported by a combination of software and hardware operations. OPENVG_BLEND_*
modes can only be supported on GC355 and GC555 cores.
Used in blit functions: vg_lite_blit, vg_lite_blit2, vg_lite_blit_rect.
Used in draw functions: vg_lite_draw, vg_lite_draw_grad, vg_lite_draw_radial_grad, vg_lite_draw_pattern
.
vg_lite_blend_t String Values |
Description |
---|---|
VG_LITE_BLEND_NONE |
S, no blending Non-premultiplied |
VG_LITE_BLEND_SRC_OVER |
S + D * (1 - Sa) Non-premultiplied |
VG_LITE_BLEND_DST_OVER |
S * (1 – Da) + D Non-premultiplied |
VG_LITE_BLEND_SRC_IN |
S * Da Non-premultiplied |
VG_LITE_BLEND_DST_IN |
D * Sa Non-premultiplied |
VG_LITE_BLEND_MULTIPLY |
S * (1 - Da) + D * (1 - Sa) + S * D Non-premultiplied |
VG_LITE_BLEND_SCREEN |
S + D - S * D Non-premultiplied |
VG_LITE_BLEND_DARKEN |
min(SRC_OVER, DST_OVER) Non-premultiplied |
VG_LITE_BLEND_LIGHTEN |
max(SRC_OVER, DST_OVER) Non-premultiplied |
VG_LITE_BLEND_ADDITIVE |
S + D Non-premultiplied |
VG_LITE_BLEND_SUBTRACT |
D * (1 - Sa) Non-premultiplied |
VG_LITE_BLEND_NORMAL_LVGL |
S * Sa + D * (1 - Sa) Non-premultiplied (from March 2023) |
VG_LITE_BLEND_ADDITIVE_LVGL |
(S + D) * Sa + D * (1 - Sa) Non-premultiplied (from March 2023) |
VG_LITE_BLEND_SUBTRACT_LVGL |
(S - D) * Sa + D * (1 - Sa) Non-premultiplied (from March 2023) |
VG_LITE_BLEND_MULTIPLY_LVGL |
(S * D) * Sa + D * (1 - Sa) Non-premultiplied (from March 2023) |
OpenVG Porter-Duff Blend String Values |
(from Aug 2023) |
OPENVG_BLEND_NONE |
SP, no blending Premultiplied |
OPENVG_BLEND_SRC_OVER |
(SP + DP * (1 - Sa)) / (Sa + Da * (1 - Sa)) Premultiplied |
OPENVG_BLEND_DST_OVER |
(SP * (1 - Da) + DP) / (Sa * (1 - Da) + Da) Premultiplied |
OPENVG_BLEND_SRC_IN |
(SP * Da) / (Sa * Da) Premultiplied |
OPENVG_BLEND_DST_IN |
(DP * Sa) / (Sa * Da) Premultiplied |
OPENVG_BLEND_MULTIPLY |
(SP*DP + SP*(1 - Da) + DP*(1 - Sa)) / (Sa + Da*(1 - Sa)) Premultiplied |
OPENVG_BLEND_SCREEN |
(SP + DP - (SP*DP)) / (Sa + Da*(1 - Sa)) Premultiplied |
OPENVG_BLEND_DARKEN |
min(SRC_OVER, DST_OVER) Premultiplied |
OPENVG_BLEND_LIGHTEN |
max(SRC_OVER, DST_OVER) Premultiplied |
OPENVG_BLEND_ADDITIVE |
(SP + DP) / (Sa + Da) Premultiplied |
Parent topic:Blit enumerations