diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2024-02-23 13:55:29 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2024-02-29 00:00:16 +0100 |
commit | 3fc1adcda5fc64a92bf5f5016fc276545105887e (patch) | |
tree | cf14a31645d92a5090a4627d5cbbf49fb76d3b23 /src/gui/painting | |
parent | d9b63c90bf65d853fa74a1327ef7455e1b655fac (diff) |
Call QColorTransformPrivate::applyReturnGray directly
Change-Id: I03434d11cf0ee734b4c0300db9b675fe393ccfab
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qcolortransform.cpp | 26 | ||||
-rw-r--r-- | src/gui/painting/qcolortransform_p.h | 2 | ||||
-rw-r--r-- | src/gui/painting/qdrawhelper.cpp | 8 |
3 files changed, 11 insertions, 25 deletions
diff --git a/src/gui/painting/qcolortransform.cpp b/src/gui/painting/qcolortransform.cpp index 579d99d09c..76d3dfacc8 100644 --- a/src/gui/painting/qcolortransform.cpp +++ b/src/gui/painting/qcolortransform.cpp @@ -1254,6 +1254,11 @@ void QColorTransformPrivate::apply(T *dst, const T *src, qsizetype count, Transf } } +/*! + \internal + Is to be called on a color-transform to XYZ, returns only luminance values. + + */ template<typename D, typename S> void QColorTransformPrivate::applyReturnGray(D *dst, const S *src, qsizetype count, TransformFlags flags) const { @@ -1358,26 +1363,9 @@ void QColorTransformPrivate::apply(QRgbaFloat32 *dst, const QRgbaFloat32 *src, q apply<QRgbaFloat32>(dst, src, count, flags); } -/*! - \internal - Is to be called on a color-transform to XYZ, returns only luminance values. - -*/ -void QColorTransformPrivate::apply(quint8 *dst, const QRgb *src, qsizetype count, TransformFlags flags) const -{ - applyReturnGray<quint8, QRgb>(dst, src, count, flags); -} - -/*! - \internal - Is to be called on a color-transform to XYZ, returns only luminance values. - -*/ -void QColorTransformPrivate::apply(quint16 *dst, const QRgba64 *src, qsizetype count, TransformFlags flags) const -{ - applyReturnGray<quint16, QRgba64>(dst, src, count, flags); -} +template void QColorTransformPrivate::applyReturnGray<quint8, QRgb>(quint8 *dst, const QRgb *src, qsizetype count, TransformFlags flags) const; +template void QColorTransformPrivate::applyReturnGray<quint16, QRgba64>(quint16 *dst, const QRgba64 *src, qsizetype count, TransformFlags flags) const; /*! \internal diff --git a/src/gui/painting/qcolortransform_p.h b/src/gui/painting/qcolortransform_p.h index e5be45bb20..1361060b73 100644 --- a/src/gui/painting/qcolortransform_p.h +++ b/src/gui/painting/qcolortransform_p.h @@ -51,8 +51,6 @@ public: void apply(QRgba64 *dst, const QRgba64 *src, qsizetype count, TransformFlags flags = Unpremultiplied) const; void apply(QRgbaFloat32 *dst, const QRgbaFloat32 *src, qsizetype count, TransformFlags flags = Unpremultiplied) const; - void apply(quint8 *dst, const QRgb *src, qsizetype count, TransformFlags flags = Unpremultiplied) const; - void apply(quint16 *dst, const QRgba64 *src, qsizetype count, TransformFlags flags = Unpremultiplied) const; template<typename T> void apply(T *dst, const T *src, qsizetype count, TransformFlags flags) const; diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 1846fd6ffc..218c9d1656 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -629,7 +629,7 @@ static void QT_FASTCALL destStoreGray8(QRasterBuffer *rasterBuffer, int x, int y QColorTransform tf = QColorSpacePrivate::get(fromCS)->transformationToXYZ(); QColorTransformPrivate *tfd = QColorTransformPrivate::get(tf); - tfd->apply(data, buffer, length, QColorTransformPrivate::InputPremultiplied); + tfd->applyReturnGray(data, buffer, length, QColorTransformPrivate::InputPremultiplied); } } @@ -653,7 +653,7 @@ static void QT_FASTCALL destStoreGray16(QRasterBuffer *rasterBuffer, int x, int QRgba64 tmp_line[BufferSize]; for (int k = 0; k < length; ++k) tmp_line[k] = QRgba64::fromArgb32(buffer[k]); - tfd->apply(data, tmp_line, length, QColorTransformPrivate::InputPremultiplied); + tfd->applyReturnGray(data, tmp_line, length, QColorTransformPrivate::InputPremultiplied); } } @@ -731,7 +731,7 @@ static void QT_FASTCALL destStore64Gray8(QRasterBuffer *rasterBuffer, int x, int QColorTransformPrivate *tfd = QColorTransformPrivate::get(tf); quint16 gray_line[BufferSize]; - tfd->apply(gray_line, buffer, length, QColorTransformPrivate::InputPremultiplied); + tfd->applyReturnGray(gray_line, buffer, length, QColorTransformPrivate::InputPremultiplied); for (int k = 0; k < length; ++k) data[k] = qt_div_257(gray_line[k]); } @@ -753,7 +753,7 @@ static void QT_FASTCALL destStore64Gray16(QRasterBuffer *rasterBuffer, int x, in QColorSpace fromCS = rasterBuffer->colorSpace.isValid() ? rasterBuffer->colorSpace : QColorSpace::SRgb; QColorTransform tf = QColorSpacePrivate::get(fromCS)->transformationToXYZ(); QColorTransformPrivate *tfd = QColorTransformPrivate::get(tf); - tfd->apply(data, buffer, length, QColorTransformPrivate::InputPremultiplied); + tfd->applyReturnGray(data, buffer, length, QColorTransformPrivate::InputPremultiplied); } } |