]>
git.ipfire.org Git - thirdparty/cups.git/blob - pdftops/SplashTypes.h
1 //========================================================================
5 //========================================================================
13 //------------------------------------------------------------------------
15 //------------------------------------------------------------------------
18 #include "FixedPoint.h"
19 typedef FixedPoint SplashCoord
;
21 typedef double SplashCoord
;
24 //------------------------------------------------------------------------
26 //------------------------------------------------------------------------
28 enum SplashColorMode
{
29 splashModeMono1
, // 1 bit per component, 8 pixels per byte,
30 // MSbit is on the left
31 splashModeMono8
, // 1 byte per component, 1 byte per pixel
32 splashModeAMono8
, // 1 byte per component, 2 bytes per pixel:
34 splashModeRGB8
, // 1 byte per component, 3 bytes per pixel:
36 splashModeBGR8
, // 1 byte per component, 3 bytes per pixel:
38 splashModeARGB8
, // 1 byte per component, 4 bytes per pixel:
40 splashModeBGRA8
// 1 byte per component, 4 bytes per pixel:
44 splashModeCMYK8
, // 1 byte per component, 4 bytes per pixel:
46 splashModeACMYK8
// 1 byte per component, 5 bytes per pixel:
51 // number of components in each color mode
52 // (defined in SplashState.cc)
53 extern int splashColorModeNComps
[];
55 // max number of components in any SplashColor
57 # define splashMaxColorComps 5
59 # define splashMaxColorComps 4
62 typedef Guchar SplashColor
[splashMaxColorComps
];
63 typedef Guchar
*SplashColorPtr
;
66 static inline Guchar
splashAMono8A(SplashColorPtr am8
) { return am8
[0]; }
67 static inline Guchar
splashAMono8M(SplashColorPtr am8
) { return am8
[1]; }
70 static inline Guchar
splashRGB8R(SplashColorPtr rgb8
) { return rgb8
[0]; }
71 static inline Guchar
splashRGB8G(SplashColorPtr rgb8
) { return rgb8
[1]; }
72 static inline Guchar
splashRGB8B(SplashColorPtr rgb8
) { return rgb8
[2]; }
75 static inline Guchar
splashBGR8R(SplashColorPtr bgr8
) { return bgr8
[2]; }
76 static inline Guchar
splashBGR8G(SplashColorPtr bgr8
) { return bgr8
[1]; }
77 static inline Guchar
splashBGR8B(SplashColorPtr bgr8
) { return bgr8
[0]; }
80 static inline Guchar
splashARGB8A(SplashColorPtr argb8
) { return argb8
[0]; }
81 static inline Guchar
splashARGB8R(SplashColorPtr argb8
) { return argb8
[1]; }
82 static inline Guchar
splashARGB8G(SplashColorPtr argb8
) { return argb8
[2]; }
83 static inline Guchar
splashARGB8B(SplashColorPtr argb8
) { return argb8
[3]; }
86 static inline Guchar
splashBGRA8A(SplashColorPtr bgra8
) { return bgra8
[3]; }
87 static inline Guchar
splashBGRA8R(SplashColorPtr bgra8
) { return bgra8
[2]; }
88 static inline Guchar
splashBGRA8G(SplashColorPtr bgra8
) { return bgra8
[1]; }
89 static inline Guchar
splashBGRA8B(SplashColorPtr bgra8
) { return bgra8
[0]; }
93 static inline Guchar
splashCMYK8C(SplashColorPtr cmyk8
) { return cmyk8
[0]; }
94 static inline Guchar
splashCMYK8M(SplashColorPtr cmyk8
) { return cmyk8
[1]; }
95 static inline Guchar
splashCMYK8Y(SplashColorPtr cmyk8
) { return cmyk8
[2]; }
96 static inline Guchar
splashCMYK8K(SplashColorPtr cmyk8
) { return cmyk8
[3]; }
99 static inline Guchar
splashACMYK8A(SplashColorPtr acmyk8
) { return acmyk8
[0]; }
100 static inline Guchar
splashACMYK8C(SplashColorPtr acmyk8
) { return acmyk8
[1]; }
101 static inline Guchar
splashACMYK8M(SplashColorPtr acmyk8
) { return acmyk8
[2]; }
102 static inline Guchar
splashACMYK8Y(SplashColorPtr acmyk8
) { return acmyk8
[3]; }
103 static inline Guchar
splashACMYK8K(SplashColorPtr acmyk8
) { return acmyk8
[4]; }
106 static inline void splashColorCopy(SplashColorPtr dest
, SplashColorPtr src
) {
116 static inline void splashColorXor(SplashColorPtr dest
, SplashColorPtr src
) {
126 //------------------------------------------------------------------------
128 //------------------------------------------------------------------------
130 typedef void (*SplashBlendFunc
)(SplashColorPtr src
, SplashColorPtr dest
,
131 SplashColorPtr blend
, SplashColorMode cm
);
133 //------------------------------------------------------------------------
135 //------------------------------------------------------------------------
137 typedef int SplashError
;