-
Dmitry Kazakov authored
1) Non-U8 alpha color spaces were not connected to the color conversion system. Therefore, one couldn't convert to/from them any data 2) The code of their methods were blindly copied from U8 color space, therefore all the functions (incl. toQColor/fromQColor/difference) just read wrong values from pointers (quint8 instead of quint16 or bigger). 3) Now all the alpha color spaces are rewritten using a common template and the same code reused for all of them, with correct pointer conversions using KoColorSpaceMaths. 4) The new color spaces are converted to the conversion system using existing Factory::colorConversionLinks() framework. Yes, they are created using factories. Open Questions: 1) In KoColorSpaceRegistry there are some special cases about persistent storage of d->alphaCs and 'OwnedByRegistryRegistryDeletes' flags. I couldn't find any info about it, so it might be incorrect.
cf54d5bd