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