diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2024-04-15 13:14:09 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2024-04-17 20:41:35 +0200 |
commit | 7febd6df65661737dd8d0f1e8a393232b1eb4cd3 (patch) | |
tree | 524b4d7d15fb9b2b361bbf1b146e8a1f33f90834 /src/gui/painting | |
parent | 880d1aef99a6826c8dd690b13e1ca6ea5574f403 (diff) |
Make possible code-paths asserted
Makes it more obvious to code-checker what is possible.
Change-Id: I8b2bbc55a600e8b570644135867a3244c6d57be7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qcolortransform.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/gui/painting/qcolortransform.cpp b/src/gui/painting/qcolortransform.cpp index b1231c3820..aac07bdc09 100644 --- a/src/gui/painting/qcolortransform.cpp +++ b/src/gui/painting/qcolortransform.cpp @@ -1644,19 +1644,19 @@ void QColorTransformPrivate::applyConvertIn(const S *src, QColorVector *buffer, return; } } - if (!colorSpaceIn->isThreeComponentMatrix()) { - if (flags & InputPremultiplied) - loadPremultipliedLUT(buffer, src, len); - else - loadUnpremultipliedLUT(buffer, src, len); + Q_ASSERT(!colorSpaceIn->isThreeComponentMatrix()); - if constexpr (std::is_same_v<S, QRgbaFloat16> || std::is_same_v<S, QRgbaFloat32>) - clampIfNeeded<DoClamp>(buffer, len); + if (flags & InputPremultiplied) + loadPremultipliedLUT(buffer, src, len); + else + loadUnpremultipliedLUT(buffer, src, len); - // Do element based conversion - for (auto &&element : colorSpaceIn->mAB) - std::visit([&buffer, len](auto &&elm) { visitElement(elm, buffer, len); }, element); - } + if constexpr (std::is_same_v<S, QRgbaFloat16> || std::is_same_v<S, QRgbaFloat32>) + clampIfNeeded<DoClamp>(buffer, len); + + // Do element based conversion + for (auto &&element : colorSpaceIn->mAB) + std::visit([&buffer, len](auto &&elm) { visitElement(elm, buffer, len); }, element); } template<typename D, typename S> @@ -1681,18 +1681,18 @@ void QColorTransformPrivate::applyConvertOut(D *dst, const S *src, QColorVector return; } } - if (!colorSpaceOut->isThreeComponentMatrix()) { - // Do element based conversion - for (auto &&element : colorSpaceOut->mBA) - std::visit([&buffer, len](auto &&elm) { visitElement(elm, buffer, len); }, element); + Q_ASSERT(!colorSpaceOut->isThreeComponentMatrix()); - clampIfNeeded<doClamp>(buffer, len); + // Do element based conversion + for (auto &&element : colorSpaceOut->mBA) + std::visit([&buffer, len](auto &&elm) { visitElement(elm, buffer, len); }, element); - if (flags & OutputPremultiplied) - storePremultipliedLUT(dst, src, buffer, len); - else - storeUnpremultipliedLUT(dst, src, buffer, len); - } + clampIfNeeded<doClamp>(buffer, len); + + if (flags & OutputPremultiplied) + storePremultipliedLUT(dst, src, buffer, len); + else + storeUnpremultipliedLUT(dst, src, buffer, len); } template<typename D, typename S> |