diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-03-16 12:21:40 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-05-26 09:06:45 +0200 |
commit | 734c9f2df26b12b89c8a4de4ae43a15726ff1886 (patch) | |
tree | 4be65958c6b790c63cd35371485c7338cec02ae0 /src/gui/painting/qcolorspace.cpp | |
parent | 34c21d040766d54d959ed835bdf5464f657b7693 (diff) |
Expand QColorTransform
Add comparison operators and an isIdentity() method to detect (1-1)
transforms.
[ChangeLog][QtGui] Added QColorTransform::isIdentity() method. Added QImage::colorTransformed() transitive method.
Change-Id: I5fbcd14e75f2179e43e94e8c5f42cd0a5600790b
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'src/gui/painting/qcolorspace.cpp')
-rw-r--r-- | src/gui/painting/qcolorspace.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/painting/qcolorspace.cpp b/src/gui/painting/qcolorspace.cpp index e8ced30727..7fdfe34872 100644 --- a/src/gui/painting/qcolorspace.cpp +++ b/src/gui/painting/qcolorspace.cpp @@ -419,6 +419,8 @@ QColorTransform QColorSpacePrivate::transformationToColorSpace(const QColorSpace ptr->colorSpaceIn = this; ptr->colorSpaceOut = out; ptr->colorMatrix = out->toXyz.inverted() * toXyz; + if (ptr->isIdentity()) + return QColorTransform(); return combined; } @@ -981,6 +983,9 @@ QColorTransform QColorSpace::transformationToColorSpace(const QColorSpace &color if (!isValid() || !colorspace.isValid()) return QColorTransform(); + if (*this == colorspace) + return QColorTransform(); + return d_ptr->transformationToColorSpace(colorspace.d_ptr.get()); } |