diff options
Diffstat (limited to 'pdf/splash/SplashTypes.h')
-rw-r--r-- | pdf/splash/SplashTypes.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/pdf/splash/SplashTypes.h b/pdf/splash/SplashTypes.h new file mode 100644 index 0000000..91b120f --- /dev/null +++ b/pdf/splash/SplashTypes.h @@ -0,0 +1,77 @@ +//======================================================================== +// +// SplashTypes.h +// +//======================================================================== + +#ifndef SPLASHTYPES_H +#define SPLASHTYPES_H + +#include <aconf.h> +#include "gtypes.h" + +//------------------------------------------------------------------------ +// coordinates +//------------------------------------------------------------------------ + +typedef double SplashCoord; + +//------------------------------------------------------------------------ +// colors +//------------------------------------------------------------------------ + +enum SplashColorMode { + splashModeMono1, + splashModeMono8, + splashModeRGB8, + splashModeBGR8Packed +}; + +// max number of components in any SplashColor +#define splashMaxColorComps 3 + +// 1-bit gray or alpha +typedef Guchar SplashMono1; +typedef Guchar SplashMono1P; // packed + +// 8-bit gray or alpha +typedef Guchar SplashMono8; + +// 3x8-bit RGB: (MSB) 00RRGGBB (LSB) +typedef Guint SplashRGB8; +#define splashRGB8R(rgb8) (((rgb8) >> 16) & 0xff) +#define splashRGB8G(rgb8) (((rgb8) >> 8) & 0xff) +#define splashRGB8B(rgb8) ((rgb8) & 0xff) +#define splashMakeRGB8(r, g, b) \ + ((((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff)) + +// 3x8-bit RGB: (MSB) 00BBGGRR (LSB) +typedef Guint SplashBGR8; +typedef Guchar SplashBGR8P; // packed +#define splashBGR8R(bgr8) ((bgr8) & 0xff) +#define splashBGR8G(bgr8) (((bgr8) >> 8) & 0xff) +#define splashBGR8B(bgr8) (((bgr8) >> 16) & 0xff) +#define splashMakeBGR8(r, g, b) \ + ((((b) & 0xff) << 16) | (((g) & 0xff) << 8) | ((r) & 0xff)) + +union SplashColor { + SplashMono1 mono1; + SplashMono8 mono8; + SplashRGB8 rgb8; + SplashBGR8 bgr8; +}; + +union SplashColorPtr { + SplashMono1P *mono1; + SplashMono8 *mono8; + SplashRGB8 *rgb8; + SplashBGR8P *bgr8; +}; + +//------------------------------------------------------------------------ +// error results +//------------------------------------------------------------------------ + +typedef int SplashError; + +#endif |