Test Results
solid on solid	alpha on solid	solid on alpha	alpha on alpha
source-over				
source-in				
source-out				
source-atop				
destination-over				
destination-in				
destination-out				
destination-atop				
lighter				
copy				
xor				
Test Image

Source Canvas
Test Output
Mode: source-over

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: source-in

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: source-out

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: source-atop

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: destination-over

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: destination-in

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: destination-out

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: destination-atop

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: lighter

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: copy

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
Mode: xor

Test: solid on solid

PASS
Test: alpha on solid

PASS
Test: solid on alpha

PASS
Test: alpha on alpha

PASS
