44#define PGFMajorNumber 7
48#define PPCAT_NX(A, B) A ## B
49#define PPCAT(A, B) PPCAT_NX(A, B)
50#define STRINGIZE_NX(A) #A
51#define STRINGIZE(A) STRINGIZE_NX(A)
54#define PGFCodecVersionID PPCAT(PPCAT(PPCAT(0x0, PGFMajorNumber), PGFYear), PGFWeek)
56#define PGFCodecVersion STRINGIZE(PPCAT(PPCAT(PPCAT(PPCAT(PGFMajorNumber, .), PGFYear), .), PGFWeek))
65#define DownsampleThreshold 3
66#define ColorTableLen 256
75#ifdef __PGF32SUPPORT__
76#define PGFVersion (Version2 | PGF32 | Version5 | Version6 | Version7)
78#define PGFVersion (Version2 | Version5 | Version6 | Version7)
84#define BufferSize 16384
85#define RLblockSizeLen 15
87#define InterBlockSize 4
88#ifdef __PGF32SUPPORT__
89 #define MaxBitPlanes 31
91 #define MaxBitPlanes 15
93#define MaxBitPlanesLog 5
94#define MaxQuality MaxBitPlanes
135#ifdef PGF_USE_BIG_ENDIAN
152 PGFHeader() :
width(0),
height(0),
nLevels(0),
quality(0),
bpp(0),
channels(0),
mode(
ImageModeUnknown),
usedBitsPerChannel(0),
version(0, 0, 0) {}
184#ifdef PGF_USE_BIG_ENDIAN
240 ASSERT(rect.left >= 0 && rect.right >= 0 && rect.left <= rect.right);
241 ASSERT(rect.top >= 0 && rect.bottom >= 0 && rect.top <= rect.bottom);
244 PGFRect& operator=(
const RECT& rect) {
268#ifdef __PGF32SUPPORT__
279#define MagicVersionSize sizeof(PGFMagicVersion)
280#define PreHeaderSize sizeof(PGFPreHeader)
281#define HeaderSize sizeof(PGFHeader)
282#define ColorTableSize (ColorTableLen*sizeof(RGBQUAD))
283#define DataTSize sizeof(DataT)
284#define MaxUserDataSize 0x7FFFFFFF
void(* RefreshCB)(void *p)
#define ColorTableLen
size of color lookup table (clut)
#define RLblockSizeLen
block size length (< 16): ld(BufferSize) < RLblockSizeLen <= 2*ld(BufferSize)
OSError error
operating system error code
IOException()
Standard constructor.
PGF identification and version.
char magic[3]
PGF identification = "PGF".
UINT8 version
PGF version.
bool IsInside(UINT32 x, UINT32 y) const
PGFRect()
Standard constructor.
PGFRect(UINT32 x, UINT32 y, UINT32 width, UINT32 height)
version number stored in header since major version 7
UINT16 major
major version number
PGFVersionNumber(UINT8 _major, UINT8 _year, UINT8 _week)
UINT16 week
week number in a year
UINT16 year
year since 2000 (year 2001 = 1)