This test exercises a bunch of color composition with alpha blending. The top-left rectangles are the source images and bottom-right rectangles are the destination images. Tests for fill rect src 255, 0, 0, 255 src 255, 0, 0, 255 src 255, 0, 0, 255 src 0, 255, 0, 0 src 0, 255, 0, 1 src 255, 0, 0, 0 src 255, 0, 0, 127 src 255, 0, 0, 255 src 255, 0, 0, 127 src 127, 0, 0, 255 src 127, 0, 0, 127 src 255, 0, 0, 127 src 255, 127, 0, 32 src 255, 0, 0, 191 src 255, 0, 255, 191 dst 0, 255, 0, 255 dst 0, 255, 0, 0 dst 0, 255, 0, 1 dst 255, 0, 0, 255 dst 255, 0, 0, 255 dst 0, 255, 0, 255 dst 0, 255, 0, 127 dst 0, 255, 0, 127 dst 0, 255, 0, 255 dst 0, 127, 0, 127 dst 0, 127, 0, 255 dst 255, 0, 0, 63 dst 255, 63, 0, 63 dst 0, 255, 0, 127 dst 0, 255, 255, 127 source-over PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS source-in PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS source-out PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS source-atop PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-over PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-in PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-out PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-atop PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS lighter PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS copy PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS xor PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS Tests for path and fill src 255, 0, 0, 255 src 255, 0, 0, 255 src 255, 0, 0, 255 src 0, 255, 0, 0 src 0, 255, 0, 1 src 255, 0, 0, 0 src 255, 0, 0, 127 src 255, 0, 0, 255 src 255, 0, 0, 127 src 127, 0, 0, 255 src 127, 0, 0, 127 src 255, 0, 0, 127 src 255, 127, 0, 32 src 255, 0, 0, 191 src 255, 0, 255, 191 dst 0, 255, 0, 255 dst 0, 255, 0, 0 dst 0, 255, 0, 1 dst 255, 0, 0, 255 dst 255, 0, 0, 255 dst 0, 255, 0, 255 dst 0, 255, 0, 127 dst 0, 255, 0, 127 dst 0, 255, 0, 255 dst 0, 127, 0, 127 dst 0, 127, 0, 255 dst 255, 0, 0, 63 dst 255, 63, 0, 63 dst 0, 255, 0, 127 dst 0, 255, 255, 127 source-over PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS source-in PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS source-out PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS source-atop PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-over PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-in PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-out PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS destination-atop PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS lighter PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS copy PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS xor PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS