diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-12-04 11:38:06 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-12-04 19:21:38 +0100 |
commit | 2b9a8b8d6973363d35b381bb5ec7e7ceb53cbae4 (patch) | |
tree | f71d82679665665bc9ea193f1047b134562d61c1 /src/gui/image/qimage.cpp | |
parent | a3e5efa8a2f66a0171b8bf3519155c521cf68792 (diff) |
Add generic rb swap for RGB64 formats
Will also be needed by half-float formats.
Change-Id: Ia735b29b65287c63da5f1b5ec25428562d743800
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/gui/image/qimage.cpp')
-rw-r--r-- | src/gui/image/qimage.cpp | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 70b958c177..2787be53d0 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -3408,25 +3408,9 @@ QImage QImage::rgbSwapped_helper() const } } break; - case Format_RGBX64: - case Format_RGBA64: - case Format_RGBA64_Premultiplied: - res = QImage(d->width, d->height, d->format); - QIMAGE_SANITYCHECK_MEMORY(res); - for (int i = 0; i < d->height; i++) { - QRgba64 *q = reinterpret_cast<QRgba64 *>(res.scanLine(i)); - const QRgba64 *p = reinterpret_cast<const QRgba64 *>(constScanLine(i)); - const QRgba64 *end = p + d->width; - while (p < end) { - QRgba64 c = *p; - *q = QRgba64::fromRgba64(c.blue(), c.green(), c.red(), c.alpha()); - p++; - q++; - } - } - break; default: res = QImage(d->width, d->height, d->format); + QIMAGE_SANITYCHECK_MEMORY(res); rgbSwapped_generic(d->width, d->height, this, &res, &qPixelLayouts[d->format]); break; } @@ -3520,19 +3504,6 @@ void QImage::rgbSwapped_inplace() } } break; - case Format_RGBX64: - case Format_RGBA64: - case Format_RGBA64_Premultiplied: - for (int i = 0; i < d->height; i++) { - QRgba64 *p = reinterpret_cast<QRgba64 *>(scanLine(i)); - QRgba64 *end = p + d->width; - while (p < end) { - QRgba64 c = *p; - *p = QRgba64::fromRgba64(c.blue(), c.green(), c.red(), c.alpha()); - p++; - } - } - break; default: rgbSwapped_generic(d->width, d->height, this, this, &qPixelLayouts[d->format]); break; |