Implemented a proper conversion when composing usual color spaces on the top of alpha8
alpha8() colorspace is very special in pigment. Firstly, it is not handled by the lcms. More than that, most of the compositions do not work in it, since it has a bit weird definition of what is color and what is alpha channel. So when painting another colorspace above it, it is more sane to do the composition in the source colorspace, and only then convert the result to the destination alpha8. This patch implements a property for a color space, which defines whether the color space prefers such way of composition. TODO: there is a small problem currently, the bitBlt function should request the compositeOp of another color space every time it is called. That is not ideal of course and should probably fixed with some caching strategy.
Showing with 202 additions and 95 deletions