-
Mathias Wein authored
The issue was that KoColorSpace::bitBlt() only accepted composite ops from its own color space, while at the same time allowing KoAlphaColorSpace to blit in a differing source color space and substituting the composite op accordingly, specifically to allow painting. Since we cannot acquire most composite ops from KoAlphaColorSpace, some restructuring was necessary: - KoColorSpace::compositeOp() and ::hasCompositeOp() now take an optional destination color space to acquire the desired composite op - KoColorSpace::bitBlt() accepts composite ops from source color space if it's going to work in source color space; this also avoids the lookup for substitution on each call - KisPainter delays fetching the composite op until the source color space is known and caches the result - change KisPainter::compositeOp() to compositeOpId() since we can no longer return an actual composite op - since recompile time can't get any worse, take care of th...
73d5958e