| //======================================================================== |
| // |
| // SplashTypes.h |
| // |
| //======================================================================== |
| |
| #ifndef SPLASHTYPES_H |
| #define SPLASHTYPES_H |
| |
| #include "goo/gtypes.h" |
| |
| //------------------------------------------------------------------------ |
| // coordinates |
| //------------------------------------------------------------------------ |
| |
| typedef double SplashCoord; |
| |
| //------------------------------------------------------------------------ |
| // colors |
| //------------------------------------------------------------------------ |
| |
| enum SplashColorMode { |
| splashModeMono1, |
| splashModeMono8, |
| splashModeRGB8, |
| splashModeRGB8Packed, |
| 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)) |
| |
| typedef Guchar SplashRGB8P; // packed |
| |
| // 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; |
| SplashRGB8P *rgb8p; |
| SplashBGR8P *bgr8; |
| }; |
| |
| //------------------------------------------------------------------------ |
| // error results |
| //------------------------------------------------------------------------ |
| |
| typedef int SplashError; |
| |
| #endif |