1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_WCSPLUGIN
7 #define _INC_WCSPLUGIN
8 #if (_WIN32_WINNT >= 0x0600)
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 typedef struct _BlackInformation {
15   WINBOOL  bBlackOnly;
16   FLOAT blackWeight;
17 } BlackInformation;
18 
19 typedef struct _JabColorF {
20   FLOAT J;
21   FLOAT a;
22   FLOAT b;
23 } JabColorF;
24 
25 typedef struct _PrimaryJabColors {
26   JabColorF red;
27   JabColorF yellow;
28   JabColorF green;
29   JabColorF cyan;
30   JabColorF blue;
31   JabColorF magenta;
32   JabColorF black;
33   JabColorF white;
34 } PrimaryJabColors;
35 
36 typedef struct _GamutShellTriangle {
37   UINT aVertexIndex[3];
38 } GamutShellTriangle;
39 
40 typedef struct _GamutShell {
41   FLOAT                                    JMin;
42   FLOAT                                    JMax;
43   UINT                                     cVertices;
44   UINT                                     cTriangles;
45   JabColorF                                *pVertices;
46   GamutShellTriangle                       *pTriangles;
47 } GamutShell;
48 
49 typedef struct _GamutBoundaryDescription {
50   PrimaryJabColors                      primaries;
51   UINT                                 cNeutralSamples
52   JabColorF                            *pNeutralSamples;
53   GamutShell                           *pReferenceShell;
54   GamutShell                           *pPlausibleShell;
55   GamutShell                           *pPossibleShell;
56 } GamutBoundaryDescription;
57 
58 typedef struct _PrimaryJabColors {
59   JabColorF red;
60   JabColorF yellow;
61   JabColorF green;
62   JabColorF cyan;
63   JabColorF blue;
64   JabColorF magenta;
65   JabColorF black;
66   JabColorF white;
67 } PrimaryJabColors;
68 
69 typedef struct _XYZColorF {
70   FLOAT X;
71   FLOAT Y;
72   FLOAT Z;
73 } XYZColorF;
74 
75 typedef struct _PrimaryXYZColors {
76   XYZColorF red;
77   XYZColorF yellow;
78   XYZColorF green;
79   XYZColorF cyan;
80   XYZColorF blue;
81   XYZColorF magenta;
82   XYZColorF black;
83   XYZColorF white;
84 } PrimaryXYZColors;
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 #endif /*(_WIN32_WINNT >= 0x0600)*/
90 #endif /*_INC_WCSPLUGIN*/
91