Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qcolortransform.cpp File Reference

(11dc7e1c05d83d45c5057d50560037a2da4416a8)

#include "qcolortransform.h"
#include "qcolortransform_p.h"
#include "qcmyk_p.h"
#include "qcolorclut_p.h"
#include "qcolormatrix_p.h"
#include "qcolorspace_p.h"
#include "qcolortrc_p.h"
#include "qcolortrclut_p.h"
#include <QtCore/qatomic.h>
#include <QtCore/qmath.h>
#include <QtGui/qcolor.h>
#include <QtGui/qimage.h>
#include <QtGui/qtransform.h>
#include <QtCore/private/qsimd_p.h>
#include <qdebug.h>
Include dependency graph for qcolortransform.cpp:

Go to the source code of this file.

Classes

class  QUninitialized< T, Count >

Enumerations

enum  ApplyMatrixForm { DoNotClamp = 0 , DoClamp = 1 , DoNotClamp = 0 , DoClamp = 1 }
enum  ApplyMatrixForm { DoNotClamp = 0 , DoClamp = 1 , DoNotClamp = 0 , DoClamp = 1 }

Functions

template<ApplyMatrixForm doClamp = DoClamp>
static void applyMatrix (QColorVector *buffer, const qsizetype len, const QColorMatrix &colorMatrix)
template<ApplyMatrixForm doClamp = DoClamp>
static void clampIfNeeded (QColorVector *buffer, const qsizetype len)
template<typename T>
static float getAlphaF (const T &)
template<>
float getAlphaF (const QRgb &r)
template<>
float getAlphaF (const QCmyk32 &)
template<>
float getAlphaF (const QRgba64 &r)
template<>
float getAlphaF (const QRgbaFloat32 &r)
template<typename T>
static void loadPremultiplied (QColorVector *buffer, const T *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<typename T>
static void loadUnpremultiplied (QColorVector *buffer, const T *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadPremultiplied< QRgb > (QColorVector *buffer, const QRgb *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadPremultiplied< QRgba64 > (QColorVector *buffer, const QRgba64 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadUnpremultiplied< QRgb > (QColorVector *buffer, const QRgb *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
static int u16toidx (int c)
template<>
void loadUnpremultiplied< QRgba64 > (QColorVector *buffer, const QRgba64 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadPremultiplied< QRgbaFloat32 > (QColorVector *buffer, const QRgbaFloat32 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadUnpremultiplied< QRgbaFloat32 > (QColorVector *buffer, const QRgbaFloat32 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storePremultiplied (QRgb *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storeUnpremultiplied (QRgb *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storeOpaque (QRgb *dst, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<typename S>
static void storePremultiplied (QRgba64 *dst, const S *src, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<typename S>
static void storeUnpremultiplied (QRgba64 *dst, const S *src, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storeOpaque (QRgba64 *dst, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<typename S>
static void storePremultiplied (QRgbaFloat32 *dst, const S *src, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<typename S>
static void storeUnpremultiplied (QRgbaFloat32 *dst, const S *src, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storeOpaque (QRgbaFloat32 *dst, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void loadGray (QColorVector *buffer, const quint8 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void loadGray (QColorVector *buffer, const quint16 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storeOpaque (quint8 *dst, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
static void storeOpaque (quint16 *dst, const QColorVector *buffer, const qsizetype len, const QColorTransformPrivate *d_ptr)
void loadUnpremultipliedLUT (QColorVector *buffer, const uchar *src, const qsizetype len)
void loadUnpremultipliedLUT (QColorVector *buffer, const quint16 *src, const qsizetype len)
void loadUnpremultipliedLUT (QColorVector *buffer, const QRgb *src, const qsizetype len)
void loadUnpremultipliedLUT (QColorVector *buffer, const QCmyk32 *src, const qsizetype len)
void loadUnpremultipliedLUT (QColorVector *buffer, const QRgba64 *src, const qsizetype len)
void loadUnpremultipliedLUT (QColorVector *buffer, const QRgbaFloat32 *src, const qsizetype len)
void loadPremultipliedLUT (QColorVector *, const uchar *, const qsizetype)
void loadPremultipliedLUT (QColorVector *, const quint16 *, const qsizetype)
void loadPremultipliedLUT (QColorVector *buffer, const QRgb *src, const qsizetype len)
void loadPremultipliedLUT (QColorVector *, const QCmyk32 *, const qsizetype)
void loadPremultipliedLUT (QColorVector *buffer, const QRgba64 *src, const qsizetype len)
void loadPremultipliedLUT (QColorVector *buffer, const QRgbaFloat32 *src, const qsizetype len)
template<typename T>
static void storeUnpremultipliedLUT (QRgb *dst, const T *, const QColorVector *buffer, const qsizetype len)
template<>
void storeUnpremultipliedLUT (QRgb *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<typename T>
void storeUnpremultipliedLUT (QCmyk32 *dst, const T *, const QColorVector *buffer, const qsizetype len)
template<typename T>
static void storeUnpremultipliedLUT (QRgba64 *dst, const T *, const QColorVector *buffer, const qsizetype len)
template<>
void storeUnpremultipliedLUT (QRgba64 *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<>
void storeUnpremultipliedLUT (QRgba64 *dst, const QRgba64 *src, const QColorVector *buffer, const qsizetype len)
template<typename T>
static void storeUnpremultipliedLUT (QRgbaFloat32 *dst, const T *src, const QColorVector *buffer, const qsizetype len)
template<typename T>
static void storePremultipliedLUT (QRgb *dst, const T *, const QColorVector *buffer, const qsizetype len)
template<>
void storePremultipliedLUT (QRgb *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<typename T>
static void storePremultipliedLUT (QCmyk32 *dst, const T *src, const QColorVector *buffer, const qsizetype len)
template<typename T>
static void storePremultipliedLUT (QRgba64 *dst, const T *, const QColorVector *buffer, const qsizetype len)
template<>
void storePremultipliedLUT (QRgba64 *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<>
void storePremultipliedLUT (QRgba64 *dst, const QRgba64 *src, const QColorVector *buffer, const qsizetype len)
template<typename T>
static void storePremultipliedLUT (QRgbaFloat32 *dst, const T *src, const QColorVector *buffer, const qsizetype len)
static void visitElement (const QColorSpacePrivate::TransferElement &element, QColorVector *buffer, const qsizetype len)
static void visitElement (const QColorMatrix &element, QColorVector *buffer, const qsizetype len)
static void visitElement (const QColorVector &offset, QColorVector *buffer, const qsizetype len)
static void visitElement (const QColorCLUT &element, QColorVector *buffer, const qsizetype len)
template<>
float getAlphaF (const QRgb &r)
template<>
float getAlphaF (const QCmyk32 &)
template<>
float getAlphaF (const QRgba64 &r)
template<>
float getAlphaF (const QRgbaFloat32 &r)
template<>
void loadPremultiplied< QRgb > (QColorVector *buffer, const QRgb *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadPremultiplied< QRgba64 > (QColorVector *buffer, const QRgba64 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadUnpremultiplied< QRgb > (QColorVector *buffer, const QRgb *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadUnpremultiplied< QRgba64 > (QColorVector *buffer, const QRgba64 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadPremultiplied< QRgbaFloat32 > (QColorVector *buffer, const QRgbaFloat32 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void loadUnpremultiplied< QRgbaFloat32 > (QColorVector *buffer, const QRgbaFloat32 *src, const qsizetype len, const QColorTransformPrivate *d_ptr)
template<>
void storeUnpremultipliedLUT (QRgb *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<>
void storeUnpremultipliedLUT (QRgba64 *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<>
void storeUnpremultipliedLUT (QRgba64 *dst, const QRgba64 *src, const QColorVector *buffer, const qsizetype len)
template<>
void storePremultipliedLUT (QRgb *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<>
void storePremultipliedLUT (QRgba64 *dst, const QRgb *src, const QColorVector *buffer, const qsizetype len)
template<>
void storePremultipliedLUT (QRgba64 *dst, const QRgba64 *src, const QColorVector *buffer, const qsizetype len)

Variables

static constexpr qsizetype WorkBlockSize = 256
template<typename T>
constexpr bool IsGrayscale = std::is_same_v<T, uchar> || std::is_same_v<T, quint16>
template<typename T>
constexpr bool IsAlwaysOpaque = std::is_same_v<T, QCmyk32> || IsGrayscale<T>
template<typename T>
constexpr bool CanUseThreeComponent = !std::is_same_v<T, QCmyk32>
template<typename T>
constexpr bool UnclampedValues = std::is_same_v<T, QRgbaFloat16> || std::is_same_v<T, QRgbaFloat32>

Enumeration Type Documentation

◆ ApplyMatrixForm [1/2]

Enumerator
DoNotClamp 
DoClamp 
DoNotClamp 
DoClamp 

Definition at line 276 of file qcolortransform.cpp.

◆ ApplyMatrixForm [2/2]

Enumerator
DoNotClamp 
DoClamp 
DoNotClamp 
DoClamp 

Definition at line 276 of file qcolortransform.cpp.

Function Documentation

◆ applyMatrix()

template<ApplyMatrixForm doClamp = DoClamp>
void applyMatrix ( QColorVector * buffer,
const qsizetype len,
const QColorMatrix & colorMatrix )
static

Definition at line 282 of file qcolortransform.cpp.

◆ clampIfNeeded()

template<ApplyMatrixForm doClamp = DoClamp>
void clampIfNeeded ( QColorVector * buffer,
const qsizetype len )
static

Definition at line 342 of file qcolortransform.cpp.

References DoClamp.

◆ getAlphaF() [1/9]

template<>
float getAlphaF ( const QCmyk32 & )

Definition at line 407 of file qcolortransform.cpp.

◆ getAlphaF() [2/9]

template<>
float getAlphaF ( const QCmyk32 & )

Definition at line 407 of file qcolortransform.cpp.

◆ getAlphaF() [3/9]

template<>
float getAlphaF ( const QRgb & r)

Definition at line 403 of file qcolortransform.cpp.

◆ getAlphaF() [4/9]

template<>
float getAlphaF ( const QRgb & r)

Definition at line 403 of file qcolortransform.cpp.

◆ getAlphaF() [5/9]

template<>
float getAlphaF ( const QRgba64 & r)

Definition at line 411 of file qcolortransform.cpp.

◆ getAlphaF() [6/9]

template<>
float getAlphaF ( const QRgba64 & r)

Definition at line 411 of file qcolortransform.cpp.

◆ getAlphaF() [7/9]

template<>
float getAlphaF ( const QRgbaFloat32 & r)

Definition at line 415 of file qcolortransform.cpp.

◆ getAlphaF() [8/9]

template<>
float getAlphaF ( const QRgbaFloat32 & r)

Definition at line 415 of file qcolortransform.cpp.

◆ getAlphaF() [9/9]

template<typename T>
float getAlphaF ( const T & )
static

◆ loadGray() [1/2]

void loadGray ( QColorVector * buffer,
const quint16 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1374 of file qcolortransform.cpp.

◆ loadGray() [2/2]

void loadGray ( QColorVector * buffer,
const quint8 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1354 of file qcolortransform.cpp.

◆ loadPremultiplied()

template<typename T>
void loadPremultiplied ( QColorVector * buffer,
const T * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

◆ loadPremultiplied< QRgb >() [1/2]

template<>
void loadPremultiplied< QRgb > ( QColorVector * buffer,
const QRgb * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 780 of file qcolortransform.cpp.

◆ loadPremultiplied< QRgb >() [2/2]

template<>
void loadPremultiplied< QRgb > ( QColorVector * buffer,
const QRgb * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 780 of file qcolortransform.cpp.

◆ loadPremultiplied< QRgba64 >() [1/2]

template<>
void loadPremultiplied< QRgba64 > ( QColorVector * buffer,
const QRgba64 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 810 of file qcolortransform.cpp.

◆ loadPremultiplied< QRgba64 >() [2/2]

template<>
void loadPremultiplied< QRgba64 > ( QColorVector * buffer,
const QRgba64 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 810 of file qcolortransform.cpp.

◆ loadPremultiplied< QRgbaFloat32 >() [1/2]

template<>
void loadPremultiplied< QRgbaFloat32 > ( QColorVector * buffer,
const QRgbaFloat32 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 895 of file qcolortransform.cpp.

◆ loadPremultiplied< QRgbaFloat32 >() [2/2]

template<>
void loadPremultiplied< QRgbaFloat32 > ( QColorVector * buffer,
const QRgbaFloat32 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 895 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [1/6]

void loadPremultipliedLUT ( QColorVector * ,
const QCmyk32 * ,
const qsizetype  )

Definition at line 1504 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [2/6]

void loadPremultipliedLUT ( QColorVector * ,
const quint16 * ,
const qsizetype  )

Definition at line 1488 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [3/6]

void loadPremultipliedLUT ( QColorVector * ,
const uchar * ,
const qsizetype  )

Definition at line 1483 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [4/6]

void loadPremultipliedLUT ( QColorVector * buffer,
const QRgb * src,
const qsizetype len )

Definition at line 1493 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [5/6]

void loadPremultipliedLUT ( QColorVector * buffer,
const QRgba64 * src,
const qsizetype len )

Definition at line 1509 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [6/6]

void loadPremultipliedLUT ( QColorVector * buffer,
const QRgbaFloat32 * src,
const qsizetype len )

Definition at line 1519 of file qcolortransform.cpp.

◆ loadUnpremultiplied()

template<typename T>
void loadUnpremultiplied ( QColorVector * buffer,
const T * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

◆ loadUnpremultiplied< QRgb >() [1/2]

template<>
void loadUnpremultiplied< QRgb > ( QColorVector * buffer,
const QRgb * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 840 of file qcolortransform.cpp.

◆ loadUnpremultiplied< QRgb >() [2/2]

template<>
void loadUnpremultiplied< QRgb > ( QColorVector * buffer,
const QRgb * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 840 of file qcolortransform.cpp.

◆ loadUnpremultiplied< QRgba64 >() [1/2]

template<>
void loadUnpremultiplied< QRgba64 > ( QColorVector * buffer,
const QRgba64 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 870 of file qcolortransform.cpp.

◆ loadUnpremultiplied< QRgba64 >() [2/2]

template<>
void loadUnpremultiplied< QRgba64 > ( QColorVector * buffer,
const QRgba64 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 870 of file qcolortransform.cpp.

◆ loadUnpremultiplied< QRgbaFloat32 >() [1/2]

template<>
void loadUnpremultiplied< QRgbaFloat32 > ( QColorVector * buffer,
const QRgbaFloat32 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 912 of file qcolortransform.cpp.

◆ loadUnpremultiplied< QRgbaFloat32 >() [2/2]

template<>
void loadUnpremultiplied< QRgbaFloat32 > ( QColorVector * buffer,
const QRgbaFloat32 * src,
const qsizetype len,
const QColorTransformPrivate * d_ptr )

Definition at line 912 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [1/6]

void loadUnpremultipliedLUT ( QColorVector * buffer,
const QCmyk32 * src,
const qsizetype len )

Definition at line 1452 of file qcolortransform.cpp.

References QCmyk32::black(), QCmyk32::cyan(), QCmyk32::magenta(), and QCmyk32::yellow().

Here is the call graph for this function:

◆ loadUnpremultipliedLUT() [2/6]

void loadUnpremultipliedLUT ( QColorVector * buffer,
const QRgb * src,
const qsizetype len )

Definition at line 1441 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [3/6]

void loadUnpremultipliedLUT ( QColorVector * buffer,
const QRgba64 * src,
const qsizetype len )

Definition at line 1464 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [4/6]

void loadUnpremultipliedLUT ( QColorVector * buffer,
const QRgbaFloat32 * src,
const qsizetype len )

Definition at line 1474 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [5/6]

void loadUnpremultipliedLUT ( QColorVector * buffer,
const quint16 * src,
const qsizetype len )

Definition at line 1430 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [6/6]

void loadUnpremultipliedLUT ( QColorVector * buffer,
const uchar * src,
const qsizetype len )

Definition at line 1419 of file qcolortransform.cpp.

◆ storeOpaque() [1/5]

void storeOpaque ( QRgb * dst,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1266 of file qcolortransform.cpp.

◆ storeOpaque() [2/5]

void storeOpaque ( QRgba64 * dst,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1304 of file qcolortransform.cpp.

◆ storeOpaque() [3/5]

void storeOpaque ( QRgbaFloat32 * dst,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1342 of file qcolortransform.cpp.

◆ storeOpaque() [4/5]

void storeOpaque ( quint16 * dst,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1401 of file qcolortransform.cpp.

◆ storeOpaque() [5/5]

void storeOpaque ( quint8 * dst,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1394 of file qcolortransform.cpp.

◆ storePremultiplied() [1/3]

void storePremultiplied ( QRgb * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1242 of file qcolortransform.cpp.

◆ storePremultiplied() [2/3]

template<typename S>
void storePremultiplied ( QRgba64 * dst,
const S * src,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1278 of file qcolortransform.cpp.

◆ storePremultiplied() [3/3]

template<typename S>
void storePremultiplied ( QRgbaFloat32 * dst,
const S * src,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1317 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [1/10]

template<typename T>
void storePremultipliedLUT ( QCmyk32 * dst,
const T * src,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1636 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [2/10]

template<>
void storePremultipliedLUT ( QRgb * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1624 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [3/10]

template<>
void storePremultipliedLUT ( QRgb * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1624 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [4/10]

template<typename T>
void storePremultipliedLUT ( QRgb * dst,
const T * ,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1613 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [5/10]

template<>
void storePremultipliedLUT ( QRgba64 * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1653 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [6/10]

template<>
void storePremultipliedLUT ( QRgba64 * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1653 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [7/10]

template<>
void storePremultipliedLUT ( QRgba64 * dst,
const QRgba64 * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1665 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [8/10]

template<>
void storePremultipliedLUT ( QRgba64 * dst,
const QRgba64 * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1665 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [9/10]

template<typename T>
void storePremultipliedLUT ( QRgba64 * dst,
const T * ,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1642 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [10/10]

template<typename T>
void storePremultipliedLUT ( QRgbaFloat32 * dst,
const T * src,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1677 of file qcolortransform.cpp.

◆ storeUnpremultiplied() [1/3]

void storeUnpremultiplied ( QRgb * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1255 of file qcolortransform.cpp.

◆ storeUnpremultiplied() [2/3]

template<typename S>
void storeUnpremultiplied ( QRgba64 * dst,
const S * src,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1292 of file qcolortransform.cpp.

◆ storeUnpremultiplied() [3/3]

template<typename S>
void storeUnpremultiplied ( QRgbaFloat32 * dst,
const S * src,
const QColorVector * buffer,
const qsizetype len,
const QColorTransformPrivate * d_ptr )
static

Definition at line 1330 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [1/10]

template<typename T>
void storeUnpremultipliedLUT ( QCmyk32 * dst,
const T * ,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1552 of file qcolortransform.cpp.

References QCmyk32::QCmyk32().

Here is the call graph for this function:

◆ storeUnpremultipliedLUT() [2/10]

template<>
void storeUnpremultipliedLUT ( QRgb * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1540 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [3/10]

template<>
void storeUnpremultipliedLUT ( QRgb * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1540 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [4/10]

template<typename T>
void storeUnpremultipliedLUT ( QRgb * dst,
const T * ,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1529 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [5/10]

template<>
void storeUnpremultipliedLUT ( QRgba64 * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1576 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [6/10]

template<>
void storeUnpremultipliedLUT ( QRgba64 * dst,
const QRgb * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1576 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [7/10]

template<>
void storeUnpremultipliedLUT ( QRgba64 * dst,
const QRgba64 * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1589 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [8/10]

template<>
void storeUnpremultipliedLUT ( QRgba64 * dst,
const QRgba64 * src,
const QColorVector * buffer,
const qsizetype len )

Definition at line 1589 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [9/10]

template<typename T>
void storeUnpremultipliedLUT ( QRgba64 * dst,
const T * ,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1564 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [10/10]

template<typename T>
void storeUnpremultipliedLUT ( QRgbaFloat32 * dst,
const T * src,
const QColorVector * buffer,
const qsizetype len )
static

Definition at line 1601 of file qcolortransform.cpp.

◆ u16toidx()

int u16toidx ( int c)
static

Definition at line 863 of file qcolortransform.cpp.

◆ visitElement() [1/4]

void visitElement ( const QColorCLUT & element,
QColorVector * buffer,
const qsizetype len )
static

Definition at line 1712 of file qcolortransform.cpp.

References QColorCLUT::isEmpty().

Here is the call graph for this function:

◆ visitElement() [2/4]

void visitElement ( const QColorMatrix & element,
QColorVector * buffer,
const qsizetype len )
static

Definition at line 1700 of file qcolortransform.cpp.

References QColorMatrix::map().

Here is the call graph for this function:

◆ visitElement() [3/4]

void visitElement ( const QColorSpacePrivate::TransferElement & element,
QColorVector * buffer,
const qsizetype len )
static

Definition at line 1688 of file qcolortransform.cpp.

◆ visitElement() [4/4]

void visitElement ( const QColorVector & offset,
QColorVector * buffer,
const qsizetype len )
static

Definition at line 1706 of file qcolortransform.cpp.

Variable Documentation

◆ CanUseThreeComponent

template<typename T>
bool CanUseThreeComponent = !std::is_same_v<T, QCmyk32>
constexpr

Definition at line 1819 of file qcolortransform.cpp.

◆ IsAlwaysOpaque

template<typename T>
bool IsAlwaysOpaque = std::is_same_v<T, QCmyk32> || IsGrayscale<T>
constexpr

Definition at line 1817 of file qcolortransform.cpp.

◆ IsGrayscale

template<typename T>
bool IsGrayscale = std::is_same_v<T, uchar> || std::is_same_v<T, quint16>
constexpr

Definition at line 1815 of file qcolortransform.cpp.

◆ UnclampedValues

template<typename T>
bool UnclampedValues = std::is_same_v<T, QRgbaFloat16> || std::is_same_v<T, QRgbaFloat32>
constexpr

Definition at line 1821 of file qcolortransform.cpp.

◆ WorkBlockSize

constexpr qsizetype WorkBlockSize = 256
staticconstexpr

Definition at line 1408 of file qcolortransform.cpp.