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 <qcolorspace_p.h>
Classes | |
struct | LUT |
struct | TransferElement |
Public Types | |
using | Element = std::variant<TransferElement, QColorMatrix, QColorVector, QColorCLUT> |
Static Public Member Functions | |
static const QColorSpacePrivate * | get (const QColorSpace &colorSpace) |
static QColorSpacePrivate * | get (QColorSpace &colorSpace) |
Static Public Attributes | |
static constexpr QColorSpace::NamedColorSpace | Unknown = QColorSpace::NamedColorSpace(0) |
static Q_CONSTINIT QBasicMutex | s_lutWriteLock |
Definition at line 56 of file qcolorspace_p.h.
using QColorSpacePrivate::Element = std::variant<TransferElement, QColorMatrix, QColorVector, QColorCLUT> |
Definition at line 119 of file qcolorspace_p.h.
QColorSpacePrivate::QColorSpacePrivate | ( | ) |
Definition at line 100 of file qcolorspace.cpp.
QColorSpacePrivate::QColorSpacePrivate | ( | QColorSpace::NamedColorSpace | namedColorSpace | ) |
Definition at line 104 of file qcolorspace.cpp.
References QColorSpace::AdobeRgb, QColorSpace::DciP3D65, description, QColorSpace::DisplayP3, QColorSpace::Gamma, gamma, initialize(), QColorSpace::Linear, namedColorSpace, primaries, QColorSpace::ProPhotoRgb, QStringLiteral, QColorSpace::SRgb, QColorSpace::SRgbLinear, and transferFunction.
QColorSpacePrivate::QColorSpacePrivate | ( | QColorSpace::Primaries | primaries, |
QColorSpace::TransferFunction | transferFunction, | ||
float | gamma ) |
Definition at line 141 of file qcolorspace.cpp.
QColorSpacePrivate::QColorSpacePrivate | ( | QColorSpace::Primaries | primaries, |
const QList< uint16_t > & | transferFunctionTable ) |
Definition at line 196 of file qcolorspace.cpp.
References identifyColorSpace(), initialize(), and setTransferFunctionTable().
QColorSpacePrivate::QColorSpacePrivate | ( | const QColorSpacePrimaries & | primaries, |
QColorSpace::TransferFunction | transferFunction, | ||
float | gamma ) |
Definition at line 151 of file qcolorspace.cpp.
References chad, QColorMatrix::chromaticAdaptation(), identifyColorSpace(), primaries, Q_ASSERT, setTransferFunction(), toXyz, and whitePoint.
QColorSpacePrivate::QColorSpacePrivate | ( | const QColorSpacePrimaries & | primaries, |
const QList< uint16_t > & | transferFunctionTable ) |
Definition at line 207 of file qcolorspace.cpp.
References chad, QColorMatrix::chromaticAdaptation(), identifyColorSpace(), initialize(), primaries, Q_ASSERT, setTransferFunctionTable(), toXyz, and whitePoint.
QColorSpacePrivate::QColorSpacePrivate | ( | const QColorSpacePrimaries & | primaries, |
const QList< uint16_t > & | redTransferFunctionTable, | ||
const QList< uint16_t > & | greenTransferFunctionTable, | ||
const QList< uint16_t > & | blueRransferFunctionTable ) |
Definition at line 223 of file qcolorspace.cpp.
References chad, QColorMatrix::chromaticAdaptation(), QColorVector::fromXYChromaticity(), identifyColorSpace(), primaries, Q_ASSERT, setTransferFunctionTables(), toXyz, and whitePoint.
QColorSpacePrivate::QColorSpacePrivate | ( | const QPointF & | whitePoint, |
QColorSpace::TransferFunction | transferFunction, | ||
float | gamma ) |
Definition at line 169 of file qcolorspace.cpp.
References chad, QColorMatrix::chromaticAdaptation(), setTransferFunction(), and toXyz.
QColorSpacePrivate::QColorSpacePrivate | ( | const QPointF & | whitePoint, |
const QList< uint16_t > & | transferFunctionTable ) |
Definition at line 183 of file qcolorspace.cpp.
References chad, QColorMatrix::chromaticAdaptation(), setTransferFunction(), setTransferFunctionTable(), and toXyz.
|
default |
void QColorSpacePrivate::clearElementListProcessingForEdit | ( | ) |
Definition at line 464 of file qcolorspace.cpp.
References QList< T >::clear(), colorModel, QColorSpace::Custom, QColorSpace::ElementListProcessing, isPcsLab, mAB, mBA, primaries, Q_ASSERT, QColorSpace::Rgb, QColorSpace::ThreeComponentMatrix, transferFunction, and transformModel.
Referenced by QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunctions(), and QColorSpace::setWhitePoint().
bool QColorSpacePrivate::equals | ( | const QColorSpacePrivate * | other | ) | const |
Definition at line 1215 of file qcolorspace.cpp.
References colorModel, compareElements(), QList< T >::count(), QColorSpace::Custom, QColorSpace::Gamma, gamma, i, iccProfile, QByteArray::isEmpty(), isPcsLab, isThreeComponentMatrix(), isValid(), mAB, mBA, namedColorSpace, other(), primaries, qAbs(), toXyz, transferFunction, transformModel, and trc.
Referenced by QColorTransformPrivate::isIdentity().
|
inlinestatic |
Definition at line 73 of file qcolorspace_p.h.
References QExplicitlySharedDataPointer< T >::get().
Referenced by convert_ARGB_to_gray16(), convert_ARGB_to_gray8(), convert_Indexed8_to_Grayscale8(), convert_RGBA64_to_gray16(), convert_RGBA64_to_gray8(), destStoreGray16(), destStoreGray8(), QIcc::fromIccProfile(), QQuickColorSpaceValueType::namedColorSpace(), QPngHandlerPrivate::readPngHeader(), and QIcc::toIccProfile().
|
inlinestatic |
Definition at line 78 of file qcolorspace_p.h.
References QExplicitlySharedDataPointer< T >::get().
void QColorSpacePrivate::identifyColorSpace | ( | ) |
Definition at line 243 of file qcolorspace.cpp.
References QColorSpace::AdobeRgb, QColorSpace::DciP3D65, description, QColorSpace::DisplayP3, QColorSpace::Gamma, gamma, QString::isEmpty(), QColorSpace::Linear, namedColorSpace, primaries, QColorSpace::ProPhotoRgb, qAbs(), QStringLiteral, QColorSpace::SRgb, QColorSpace::SRgbLinear, transferFunction, and Unknown.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunctions(), and QColorSpace::setWhitePoint().
void QColorSpacePrivate::initialize | ( | ) |
Definition at line 302 of file qcolorspace.cpp.
References setToXyzMatrix(), and setTransferFunction().
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), and QColorSpacePrivate().
bool QColorSpacePrivate::isThreeComponentMatrix | ( | ) | const |
Definition at line 459 of file qcolorspace.cpp.
References QColorSpace::ThreeComponentMatrix, and transformModel.
Referenced by QColorTransformPrivate::applyGray(), QColorTransformPrivate::applyReturnGray(), equals(), QColorTransformPrivate::isThreeComponentMatrix(), isValid(), QColorSpace::isValidTarget(), QColorTransformPrivate::map(), QColorTransformPrivate::mapExtended(), transformationToColorSpace(), and transformationToXYZ().
|
noexcept |
Definition at line 1123 of file qcolorspace.cpp.
References colorModel, QColorSpace::Gray, QList< T >::isEmpty(), isThreeComponentMatrix(), QColorMatrix::isValid(), isValid(), mAB, toXyz, and trc.
Referenced by equals(), QColorSpace::isValid(), isValid(), and QColorSpace::isValidTarget().
void QColorSpacePrivate::setToXyzMatrix | ( | ) |
Definition at line 308 of file qcolorspace.cpp.
References chad, QColorMatrix::chromaticAdaptation(), QColorSpace::Custom, QColorVector::D50(), QColorVector::fromXYChromaticity(), primaries, toXyz, and whitePoint.
Referenced by initialize(), and QColorSpace::setPrimaries().
void QColorSpacePrivate::setTransferFunction | ( | ) |
Definition at line 389 of file qcolorspace.cpp.
References QColorSpace::Custom, QColorTransferFunction::fromGamma(), QColorTransferFunction::fromProPhotoRgb(), QColorTransferFunction::fromSRgb(), QColorSpace::Gamma, gamma, QColorSpace::Linear, lut, QColorTrc::m_fun, QColorTrc::m_type, QColorSpace::ProPhotoRgb, qFuzzyIsNull(), QColorSpace::SRgb, transferFunction, and trc.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), initialize(), QColorSpace::setTransferFunction(), and QColorSpace::setTransferFunction().
void QColorSpacePrivate::setTransferFunctionTable | ( | const QList< uint16_t > & | transferFunctionTable | ) |
Definition at line 322 of file qcolorspace.cpp.
References QColorSpace::Custom, gamma, QColorTransferFunction::isIdentity(), QColorTransferFunction::isSRgb(), QColorSpace::Linear, QColorTrc::m_fun, QColorTrc::m_table, QColorTrc::m_type, qWarning, QColorSpace::SRgb, transferFunction, and trc.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), and QColorSpace::setTransferFunction().
void QColorSpacePrivate::setTransferFunctionTables | ( | const QList< uint16_t > & | redTransferFunctionTable, |
const QList< uint16_t > & | greenTransferFunctionTable, | ||
const QList< uint16_t > & | blueTransferFunctionTable ) |
Definition at line 348 of file qcolorspace.cpp.
References QColorSpace::Custom, lut, QColorTrc::m_fun, QColorTrc::m_table, QColorTrc::m_type, qWarning, transferFunction, and trc.
Referenced by QColorSpacePrivate(), and QColorSpace::setTransferFunctions().
QColorTransform QColorSpacePrivate::transformationToColorSpace | ( | const QColorSpacePrivate * | out | ) | const |
Definition at line 425 of file qcolorspace.cpp.
References QColorMatrix::identity(), isThreeComponentMatrix(), out, ptr(), Q_ASSERT, and toXyz.
Referenced by QColorSpace::transformationToColorSpace().
QColorTransform QColorSpacePrivate::transformationToXYZ | ( | ) | const |
Definition at line 444 of file qcolorspace.cpp.
References QColorMatrix::chromaticAdaptation(), QColorMatrix::identity(), isThreeComponentMatrix(), ptr(), toXyz, and whitePoint.
QColorMatrix QColorSpacePrivate::chad |
Definition at line 113 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpace::setPrimaries(), setToXyzMatrix(), and QColorSpace::setWhitePoint().
QColorSpace::ColorModel QColorSpacePrivate::colorModel = QColorSpace::ColorModel::Undefined |
Definition at line 106 of file qcolorspace_p.h.
Referenced by clearElementListProcessingForEdit(), QColorSpace::colorModel(), equals(), isValid(), QColorTransform::map(), QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), and QColorSpace::setWhitePoint().
QString QColorSpacePrivate::description |
Definition at line 125 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), QColorSpace::description(), identifyColorSpace(), QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunctions(), and QColorSpace::setWhitePoint().
float QColorSpacePrivate::gamma = 0.0f |
Definition at line 107 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), equals(), QColorSpace::gamma(), identifyColorSpace(), setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunctions(), setTransferFunctionTable(), and QColorSpace::withTransferFunction().
QByteArray QColorSpacePrivate::iccProfile |
Definition at line 127 of file qcolorspace_p.h.
Referenced by equals(), QColorSpace::fromIccProfile(), QColorSpace::iccProfile(), QColorSpace::setDescription(), QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunctions(), and QColorSpace::setWhitePoint().
bool QColorSpacePrivate::isPcsLab = false |
Definition at line 120 of file qcolorspace_p.h.
Referenced by QColorTransformPrivate::applyGray(), QColorTransformPrivate::applyReturnGray(), clearElementListProcessingForEdit(), equals(), QColorTransformPrivate::map(), and QColorTransformPrivate::mapExtended().
struct QColorSpacePrivate::LUT QColorSpacePrivate::lut |
Referenced by loadGray(), loadGray(), loadPremultiplied< QRgb >(), loadPremultiplied< QRgba64 >(), loadUnpremultiplied< QRgb >(), loadUnpremultiplied< QRgba64 >(), QColorTransformPrivate::map(), setTransferFunction(), setTransferFunctionTables(), storeOpaque(), storeOpaque(), storeOpaque(), storeOpaque(), storePremultiplied(), storePremultiplied(), storeUnpremultiplied(), storeUnpremultiplied(), QColorTransformPrivate::updateLutsIn(), and QColorTransformPrivate::updateLutsOut().
Definition at line 122 of file qcolorspace_p.h.
Referenced by clearElementListProcessingForEdit(), equals(), isValid(), QColorTransformPrivate::map(), and QColorTransformPrivate::mapExtended().
Definition at line 122 of file qcolorspace_p.h.
Referenced by QColorTransformPrivate::applyGray(), clearElementListProcessingForEdit(), equals(), QColorSpace::isValidTarget(), QColorTransformPrivate::map(), and QColorTransformPrivate::mapExtended().
QColorSpace::NamedColorSpace QColorSpacePrivate::namedColorSpace = Unknown |
Definition at line 101 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), equals(), and identifyColorSpace().
QColorSpace::Primaries QColorSpacePrivate::primaries = QColorSpace::Primaries::Custom |
Definition at line 103 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), clearElementListProcessingForEdit(), equals(), identifyColorSpace(), QColorSpace::primaries(), QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), setToXyzMatrix(), and QColorSpace::setWhitePoint().
|
static |
Definition at line 130 of file qcolorspace_p.h.
Referenced by QColorTransformPrivate::updateLutsIn(), and QColorTransformPrivate::updateLutsOut().
QColorMatrix QColorSpacePrivate::toXyz |
Definition at line 112 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), equals(), isValid(), QColorSpace::setPrimaries(), setToXyzMatrix(), QColorSpace::setWhitePoint(), transformationToColorSpace(), and transformationToXYZ().
QColorSpace::TransferFunction QColorSpacePrivate::transferFunction = QColorSpace::TransferFunction::Custom |
Definition at line 104 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), clearElementListProcessingForEdit(), equals(), identifyColorSpace(), QColorTransformPrivate::isIdentity(), setTransferFunction(), QColorSpace::setTransferFunction(), setTransferFunctionTable(), setTransferFunctionTables(), QColorSpace::transferFunction(), and QColorSpace::withTransferFunction().
QColorSpace::TransformModel QColorSpacePrivate::transformModel = QColorSpace::TransformModel::ThreeComponentMatrix |
Definition at line 105 of file qcolorspace_p.h.
Referenced by clearElementListProcessingForEdit(), equals(), isThreeComponentMatrix(), QColorSpace::setPrimaries(), QColorSpace::setPrimaries(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunction(), QColorSpace::setTransferFunctions(), QColorSpace::setWhitePoint(), and QColorSpace::transformModel().
QColorTrc QColorSpacePrivate::trc[3] |
Definition at line 111 of file qcolorspace_p.h.
Referenced by equals(), QColorTransformPrivate::isIdentity(), isValid(), loadPremultiplied< QRgbaFloat32 >(), loadUnpremultiplied< QRgbaFloat32 >(), QColorTransformPrivate::map(), QColorTransformPrivate::mapExtended(), setTransferFunction(), setTransferFunctionTable(), setTransferFunctionTables(), storeOpaque(), storePremultiplied(), storeUnpremultiplied(), QColorTransformPrivate::updateLutsIn(), and QColorTransformPrivate::updateLutsOut().
|
staticconstexpr |
Definition at line 100 of file qcolorspace_p.h.
Referenced by identifyColorSpace().
QString QColorSpacePrivate::userDescription |
Definition at line 126 of file qcolorspace_p.h.
Referenced by QColorSpace::description(), and QColorSpace::setDescription().
QColorVector QColorSpacePrivate::whitePoint |
Definition at line 108 of file qcolorspace_p.h.
Referenced by QColorSpacePrivate(), QColorSpacePrivate(), QColorSpacePrivate(), loadGray(), loadGray(), QColorSpace::setPrimaries(), setToXyzMatrix(), QColorSpace::setWhitePoint(), transformationToXYZ(), and QColorSpace::whitePoint().