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

(512d35198b726413c151533c8291c6b4b52f0a1d)

#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 277 of file qcolortransform.cpp.

◆ ApplyMatrixForm [2/2]

Enumerator
DoNotClamp 
DoClamp 
DoNotClamp 
DoClamp 

Definition at line 277 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 283 of file qcolortransform.cpp.

◆ clampIfNeeded()

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

Definition at line 343 of file qcolortransform.cpp.

References DoClamp.

◆ getAlphaF() [1/9]

template<>
float getAlphaF ( const QCmyk32 & )

Definition at line 408 of file qcolortransform.cpp.

◆ getAlphaF() [2/9]

template<>
float getAlphaF ( const QCmyk32 & )

Definition at line 408 of file qcolortransform.cpp.

◆ getAlphaF() [3/9]

template<>
float getAlphaF ( const QRgb & r)

Definition at line 404 of file qcolortransform.cpp.

◆ getAlphaF() [4/9]

template<>
float getAlphaF ( const QRgb & r)

Definition at line 404 of file qcolortransform.cpp.

◆ getAlphaF() [5/9]

template<>
float getAlphaF ( const QRgba64 & r)

Definition at line 412 of file qcolortransform.cpp.

◆ getAlphaF() [6/9]

template<>
float getAlphaF ( const QRgba64 & r)

Definition at line 412 of file qcolortransform.cpp.

◆ getAlphaF() [7/9]

template<>
float getAlphaF ( const QRgbaFloat32 & r)

Definition at line 416 of file qcolortransform.cpp.

◆ getAlphaF() [8/9]

template<>
float getAlphaF ( const QRgbaFloat32 & r)

Definition at line 416 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 1375 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 1355 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 781 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 781 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 811 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 811 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 896 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 896 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [1/6]

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

Definition at line 1505 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [2/6]

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

Definition at line 1489 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [3/6]

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

Definition at line 1484 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [4/6]

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

Definition at line 1494 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [5/6]

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

Definition at line 1510 of file qcolortransform.cpp.

◆ loadPremultipliedLUT() [6/6]

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

Definition at line 1520 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 841 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 841 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 871 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 871 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 913 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 913 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [1/6]

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

Definition at line 1453 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 1442 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [3/6]

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

Definition at line 1465 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [4/6]

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

Definition at line 1475 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [5/6]

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

Definition at line 1431 of file qcolortransform.cpp.

◆ loadUnpremultipliedLUT() [6/6]

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

Definition at line 1420 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 1267 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 1305 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 1343 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 1402 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 1395 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 1243 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 1279 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 1318 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 1637 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [2/10]

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

Definition at line 1625 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [3/10]

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

Definition at line 1625 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 1614 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [5/10]

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

Definition at line 1654 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [6/10]

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

Definition at line 1654 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [7/10]

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

Definition at line 1666 of file qcolortransform.cpp.

◆ storePremultipliedLUT() [8/10]

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

Definition at line 1666 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 1643 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 1678 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 1256 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 1293 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 1331 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 1553 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 1541 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [3/10]

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

Definition at line 1541 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 1530 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [5/10]

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

Definition at line 1577 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [6/10]

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

Definition at line 1577 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [7/10]

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

Definition at line 1590 of file qcolortransform.cpp.

◆ storeUnpremultipliedLUT() [8/10]

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

Definition at line 1590 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 1565 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 1602 of file qcolortransform.cpp.

◆ u16toidx()

int u16toidx ( int c)
static

Definition at line 864 of file qcolortransform.cpp.

◆ visitElement() [1/4]

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

Definition at line 1713 of file qcolortransform.cpp.

References QColorCLUT::apply(), and 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 1701 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 1689 of file qcolortransform.cpp.

◆ visitElement() [4/4]

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

Definition at line 1707 of file qcolortransform.cpp.

Variable Documentation

◆ CanUseThreeComponent

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

Definition at line 1820 of file qcolortransform.cpp.

◆ IsAlwaysOpaque

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

Definition at line 1818 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 1816 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 1822 of file qcolortransform.cpp.

◆ WorkBlockSize

constexpr qsizetype WorkBlockSize = 256
staticconstexpr

Definition at line 1409 of file qcolortransform.cpp.