QtBase  v6.3.1
Classes | Namespaces | Enumerations | Functions
qicc.cpp File Reference
#include "qicc_p.h"
#include <qbuffer.h>
#include <qbytearray.h>
#include <qdatastream.h>
#include <qendian.h>
#include <qloggingcategory.h>
#include <qstring.h>
#include "qcolorspace_p.h"
#include "qcolortrc_p.h"
#include <array>
Include dependency graph for qicc.cpp:

Go to the source code of this file.

Classes

struct  ICCProfileHeader
 
struct  QIcc::TagTableEntry
 
struct  QIcc::GenericTagData
 
struct  QIcc::XYZTagData
 
struct  QIcc::CurvTagData
 
struct  QIcc::ParaTagData
 
struct  QIcc::DescTagData
 
struct  QIcc::MlucTagRecord
 
struct  QIcc::MlucTagData
 
struct  QIcc::mABTagData
 
struct  QIcc::Sf32TagData
 
struct  QIcc::TagEntry
 

Namespaces

 QIcc
 

Enumerations

enum class  ColorSpaceType : quint32 { Rgb = IccTag('R', 'G', 'B', ' ') , Gray = IccTag('G', 'R', 'A', 'Y') }
 
enum class  ProfileClass : quint32 { Input = IccTag('s', 'c', 'r', 'n') , Display = IccTag('m', 'n', 't', 'r') , Output = IccTag('p', 'r', 't', 'r') , ColorSpace = IccTag('s', 'p', 'a', 'c') }
 
enum class  Tag : quint32 {
  Tag_End = 1 , Tag_SourceText16 , Tag_Translation , Tag_Context16 ,
  Tag_Obsolete1 , Tag_SourceText , Tag_Context , Tag_Comment ,
  Tag_Obsolete2 , acsp = IccTag('a', 'c', 's', 'p') , RGB_ = IccTag('R', 'G', 'B', ' ') , XYZ_ = IccTag('X', 'Y', 'Z', ' ') ,
  rXYZ = IccTag('r', 'X', 'Y', 'Z') , gXYZ = IccTag('g', 'X', 'Y', 'Z') , bXYZ = IccTag('b', 'X', 'Y', 'Z') , rTRC = IccTag('r', 'T', 'R', 'C') ,
  gTRC = IccTag('g', 'T', 'R', 'C') , bTRC = IccTag('b', 'T', 'R', 'C') , kTRC = IccTag('k', 'T', 'R', 'C') , A2B0 = IccTag('A', '2', 'B', '0') ,
  A2B1 = IccTag('A', '2', 'B', '1') , B2A0 = IccTag('B', '2', 'A', '0') , B2A1 = IccTag('B', '2', 'A', '1') , desc = IccTag('d', 'e', 's', 'c') ,
  text = IccTag('t', 'e', 'x', 't') , cprt = IccTag('c', 'p', 'r', 't') , curv = IccTag('c', 'u', 'r', 'v') , para = IccTag('p', 'a', 'r', 'a') ,
  wtpt = IccTag('w', 't', 'p', 't') , bkpt = IccTag('b', 'k', 'p', 't') , mft1 = IccTag('m', 'f', 't', '1') , mft2 = IccTag('m', 'f', 't', '2') ,
  mluc = IccTag('m', 'l', 'u', 'c') , mAB_ = IccTag('m', 'A', 'B', ' ') , mBA_ = IccTag('m', 'B', 'A', ' ') , chad = IccTag('c', 'h', 'a', 'd') ,
  sf32 = IccTag('s', 'f', '3', '2') , aarg = IccTag('a', 'a', 'r', 'g') , aagg = IccTag('a', 'a', 'g', 'g') , aabg = IccTag('a', 'a', 'b', 'g')
}
 

Functions

constexpr quint32 IccTag (uchar a, uchar b, uchar c, uchar d)
 
size_t qHash (const Tag &key, size_t seed=0)
 
QByteArray QIcc::toIccProfile (const QColorSpace &space)
 
bool QIcc::parseXyzData (const QByteArray &data, const TagEntry &tagEntry, QColorVector &colorVector)
 
bool QIcc::parseTRC (const QByteArray &data, const TagEntry &tagEntry, QColorTrc &gamma)
 
bool QIcc::parseDesc (const QByteArray &data, const TagEntry &tagEntry, QString &descName)
 
bool QIcc::fromIccProfile (const QByteArray &data, QColorSpace *colorSpace)
 

Enumeration Type Documentation

◆ ColorSpaceType

enum ColorSpaceType : quint32
strong
Enumerator
Rgb 
Gray 

Definition at line 92 of file qicc.cpp.

◆ ProfileClass

enum ProfileClass : quint32
strong
Enumerator
Input 
Display 
Output 
ColorSpace 

Definition at line 97 of file qicc.cpp.

◆ Tag

enum Tag : quint32
strong
Enumerator
Tag_End 
Tag_SourceText16 
Tag_Translation 
Tag_Context16 
Tag_Obsolete1 
Tag_SourceText 
Tag_Context 
Tag_Comment 
Tag_Obsolete2 
acsp 
RGB_ 
XYZ_ 
rXYZ 
gXYZ 
bXYZ 
rTRC 
gTRC 
bTRC 
kTRC 
A2B0 
A2B1 
B2A0 
B2A1 
desc 
text 
cprt 
curv 
para 
wtpt 
bkpt 
mft1 
mft2 
mluc 
mAB_ 
mBA_ 
chad 
sf32 
aarg 
aagg 
aabg 

Definition at line 105 of file qicc.cpp.

Function Documentation

◆ IccTag()

constexpr quint32 IccTag ( uchar  a,
uchar  b,
uchar  c,
uchar  d 
)
constexpr

Definition at line 87 of file qicc.cpp.

Here is the caller graph for this function:

◆ qHash()

size_t qHash ( const Tag key,
size_t  seed = 0 
)
inline

Definition at line 141 of file qicc.cpp.