blob: 4c27d9531a1349bbc7889cb82cbda7e4f4d342c7 [file] [log] [blame]
//========================================================================
//
// 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