2.2.2.7 MilCompositingMode
A MilCompositingMode enumeration specifies the blend operation to be used when composing two objects.
-
typedef enum { SourceOver = 0x00000000, SourceCopy = 0x00000001, SourceAdd = 0x00000002, SourceAlphaMultiply = 0x00000003, SourceInverseAlphaMultiply = 0x00000004, SourceUnder = 0x00000005, SourceOverNonPremultiplied = 0x00000006, SourceInverseAlphaOverNonPremultiplied = 0x00000007, DestInvert = 0x00000008 } MilCompositingMode;
SourceOver: Result = Source + (1 - Source.Alpha) * Target
SourceCopy: Result = Source
SourceAdd: Result = Source + Target
SourceAlphaMultiply: Result = Source.Alpha * Target
SourceInverseAlphaMultiply: Result = (1 - Source.Alpha) * Target
SourceUnder: Result = (1 - Target.Alpha) * Source + Target
SourceOverNonPremultiplied: Result = Source.Alpha * Source + (1 - Source.Alpha) * Target
SourceInverseAlphaOverNonPremultiplied: Result = (1 - Source.Alpha) * Source + Source.Alpha * Target
DestInvert: If Source.ARGB = {0,1,1,1} then Result = 1 - Target else Result = (1 - Target) * Source + Source.Alpha * Target