Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qcolortransform_p.h>
Public Types | |
enum | TransformFlag { Unpremultiplied = 0 , InputOpaque = 1 , InputPremultiplied = 2 , OutputPremultiplied = 4 , Premultiplied = (InputPremultiplied | OutputPremultiplied) } |
Public Member Functions | |
void | updateLutsIn () const |
void | updateLutsOut () const |
bool | isIdentity () const |
bool | isThreeComponentMatrix () const |
Q_GUI_EXPORT void | prepare () |
QColorVector | map (QColorVector color) const |
QColorVector | mapExtended (QColorVector color) const |
template<typename D , typename S > | |
void | apply (D *dst, const S *src, qsizetype count, TransformFlags flags) const |
template<typename D , typename S > | |
void | applyGray (D *dst, const S *src, qsizetype count, TransformFlags flags) const |
template<typename D , typename S > | |
void | applyReturnGray (D *dst, const S *src, qsizetype count, TransformFlags flags) const |
Public Member Functions inherited from QSharedData | |
QSharedData () noexcept | |
Constructs a QSharedData object with a reference count of 0. | |
QSharedData (const QSharedData &) noexcept | |
Constructs a QSharedData object with reference count 0. | |
QSharedData & | operator= (const QSharedData &)=delete |
~QSharedData ()=default | |
Static Public Member Functions | |
static QColorTransformPrivate * | get (const QColorTransform &q) |
Public Attributes | |
QColorMatrix | colorMatrix |
QExplicitlySharedDataPointer< const QColorSpacePrivate > | colorSpaceIn |
QExplicitlySharedDataPointer< const QColorSpacePrivate > | colorSpaceOut |
Public Attributes inherited from QSharedData | |
QAtomicInt | ref |
Definition at line 27 of file qcolortransform_p.h.
Defines how the transform should handle alpha values.
\value Unpremultiplied The input and output should both be unpremultiplied. \value InputOpaque The input is guaranteed to be opaque. \value InputPremultiplied The input is premultiplied. \value OutputPremultiplied The output should be premultiplied. \value Premultiplied Both input and output should both be premultiplied.
Enumerator | |
---|---|
Unpremultiplied | |
InputOpaque | |
InputPremultiplied | |
OutputPremultiplied | |
Premultiplied |
Definition at line 43 of file qcolortransform_p.h.
template void QColorTransformPrivate::apply< QRgbaFloat32, QRgbaFloat32 > | ( | D * | dst, |
const S * | src, | ||
qsizetype | count, | ||
TransformFlags | flags ) const |
Applies the color transformation on count S pixels starting from src and stores the result in dst as D pixels .
Assumes unpremultiplied data by default. Set flags to change defaults.
Definition at line 1782 of file qcolortransform.cpp.
References isThreeComponentMatrix().
template void QColorTransformPrivate::applyGray< QRgba64, quint16 > | ( | D * | dst, |
const S * | src, | ||
qsizetype | count, | ||
TransformFlags | flags ) const |
Definition at line 1857 of file qcolortransform.cpp.
References colorMatrix, colorSpaceIn, colorSpaceOut, i, QColorSpacePrivate::isPcsLab, QColorSpacePrivate::isThreeComponentMatrix(), QColorMatrix::isValid(), j, loadGray(), QColorSpacePrivate::mBA, Q_ASSERT, qMin(), storeOpaque(), storeUnpremultipliedLUT(), updateLutsIn(), updateLutsOut(), visitElement(), and WorkBlockSize.
template void QColorTransformPrivate::applyReturnGray< quint16, QRgba64 > | ( | D * | dst, |
const S * | src, | ||
qsizetype | count, | ||
TransformFlags | flags ) const |
Is to be called on a color-transform to XYZ, returns only luminance values.
Definition at line 1797 of file qcolortransform.cpp.
References colorMatrix, colorSpaceIn, colorSpaceOut, i, InputPremultiplied, QColorSpacePrivate::isPcsLab, QColorSpacePrivate::isThreeComponentMatrix(), QColorMatrix::isValid(), j, loadPremultiplied(), loadUnpremultiplied(), Q_ASSERT, qMin(), storeOpaque(), updateLutsIn(), updateLutsOut(), and WorkBlockSize.
|
inlinestatic |
Definition at line 34 of file qcolortransform_p.h.
Referenced by QImage::applyColorTransform(), QImage::colorTransformed(), QImage::colorTransformed(), QImage::colorTransformed(), convert_ARGB_to_gray16(), convert_ARGB_to_gray8(), convert_RGBA64_to_gray16(), convert_RGBA64_to_gray8(), destStoreGray16(), and destStoreGray8().
bool QColorTransformPrivate::isIdentity | ( | ) | const |
Definition at line 1985 of file qcolortransform.cpp.
References colorMatrix, colorSpaceIn, colorSpaceOut, QExplicitlySharedDataPointer< T >::constData(), QColorSpace::Custom, QColorSpacePrivate::equals(), QColorMatrix::isIdentity(), isThreeComponentMatrix(), QColorSpace::Linear, QColorSpacePrivate::transferFunction, and QColorSpacePrivate::trc.
bool QColorTransformPrivate::isThreeComponentMatrix | ( | ) | const |
Definition at line 1973 of file qcolortransform.cpp.
References colorSpaceIn, colorSpaceOut, and QColorSpacePrivate::isThreeComponentMatrix().
Referenced by apply(), and isIdentity().
QColorVector QColorTransformPrivate::map | ( | QColorVector | c | ) | const |
Definition at line 1540 of file qcolortransform.cpp.
References QColorTrc::apply(), QColorTrc::applyInverse(), colorMatrix, colorSpaceIn, colorSpaceOut, QColorSpacePrivate::isPcsLab, QColorSpacePrivate::isThreeComponentMatrix(), QColorSpacePrivate::lut, QColorSpacePrivate::mAB, QColorMatrix::map(), QColorSpacePrivate::mBA, QColorSpacePrivate::trc, visitElement(), and QColorVector::x.
Referenced by QColorTransform::map(), and QColorTransform::map().
QColorVector QColorTransformPrivate::mapExtended | ( | QColorVector | c | ) | const |
Definition at line 1598 of file qcolortransform.cpp.
References QColorTrc::applyExtended(), QColorTrc::applyInverseExtended(), colorMatrix, colorSpaceIn, colorSpaceOut, QColorSpacePrivate::isPcsLab, QColorSpacePrivate::isThreeComponentMatrix(), QColorVector::labToXyz(), QColorSpacePrivate::mAB, QColorMatrix::map(), QColorSpacePrivate::mBA, QColorSpacePrivate::trc, visitElement(), QColorVector::x, and QColorVector::xyzToLab().
Referenced by QColorTransform::map(), QColorTransform::map(), and QColorTransform::map().
void QColorTransformPrivate::prepare | ( | ) |
Prepares a color transformation for fast application. You do not need to call this explicitly as it will be called implicitly on the first transforms, but if you want predictable performance on the first transforms, you can perform it in advance.
Definition at line 1940 of file qcolortransform.cpp.
References updateLutsIn(), and updateLutsOut().
void QColorTransformPrivate::updateLutsIn | ( | ) | const |
Definition at line 35 of file qcolortransform.cpp.
References colorSpaceIn, i, QColorTrc::isValid(), lock, QColorSpacePrivate::lut, lutFromTrc(), QColorSpacePrivate::s_lutWriteLock, and QColorSpacePrivate::trc.
Referenced by applyGray(), applyReturnGray(), and prepare().
void QColorTransformPrivate::updateLutsOut | ( | ) | const |
Definition at line 60 of file qcolortransform.cpp.
References colorSpaceOut, i, QColorTrc::isValid(), lock, QColorSpacePrivate::lut, lutFromTrc(), QColorSpacePrivate::s_lutWriteLock, and QColorSpacePrivate::trc.
Referenced by applyGray(), applyReturnGray(), and prepare().
QColorMatrix QColorTransformPrivate::colorMatrix |
Definition at line 30 of file qcolortransform_p.h.
Referenced by applyGray(), applyReturnGray(), isIdentity(), map(), and mapExtended().
QExplicitlySharedDataPointer<const QColorSpacePrivate> QColorTransformPrivate::colorSpaceIn |
Definition at line 31 of file qcolortransform_p.h.
Referenced by applyGray(), applyReturnGray(), isIdentity(), isThreeComponentMatrix(), loadGray(), loadGray(), loadPremultiplied< QRgb >(), loadPremultiplied< QRgba64 >(), loadPremultiplied< QRgbaFloat32 >(), loadUnpremultiplied< QRgb >(), loadUnpremultiplied< QRgba64 >(), loadUnpremultiplied< QRgbaFloat32 >(), QColorTransform::map(), map(), mapExtended(), and updateLutsIn().
QExplicitlySharedDataPointer<const QColorSpacePrivate> QColorTransformPrivate::colorSpaceOut |
Definition at line 32 of file qcolortransform_p.h.
Referenced by applyGray(), applyReturnGray(), isIdentity(), isThreeComponentMatrix(), QColorTransform::map(), map(), mapExtended(), storeOpaque(), storeOpaque(), storeOpaque(), storeOpaque(), storeOpaque(), storePremultiplied(), storePremultiplied(), storePremultiplied(), storeUnpremultiplied(), storeUnpremultiplied(), storeUnpremultiplied(), and updateLutsOut().