summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/PMRaster.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/quicktime_win32/PMRaster.h')
-rw-r--r--common/quicktime_win32/PMRaster.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/common/quicktime_win32/PMRaster.h b/common/quicktime_win32/PMRaster.h
new file mode 100644
index 0000000..eaa1681
--- /dev/null
+++ b/common/quicktime_win32/PMRaster.h
@@ -0,0 +1,94 @@
+/*
+ File: PMRaster.h
+
+ Contains: Mac OS X Printing Manager Raster Definitions.
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://developer.apple.com/bugreporter/
+
+*/
+#ifndef __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+/* MIME type for our raster format (will move to PMDefinitions.h) */
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=mac68k
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+#define kPMDataFormatRaster CFSTR("application/vnd.apple.printing-raster")
+typedef UInt32 PMPixelLayout;
+enum {
+ kPMDataPlanar = 0x0001, /* One color for all pixels, followed by next color. */
+ kPMDataChunky = 0x0002, /* All colors for each pixel before next pixel. */
+ kPMDataUnused = 0xFFFC /* Remaining bits not used at this time. */
+};
+
+/* Pixel formats supported at this time: */
+typedef UInt32 PMPixelFormat;
+enum {
+ kPMGray_1 = 0x0001, /* 1 bit gray scale (B/W) data only (not implemented). */
+ kPMGray_8 = 0x0002, /* 8 bit grayscale. 256 possible values, no color table assumed */
+ kPMRGB_16 = 0x0004, /* 16 bit, 5-5-5 RGB data, with MSB unused. */
+ kPMRGB_24 = 0x0008, /* 24 bit, 8-8-8 RGB data, no unused bits or bytes. */
+ kPMXRGB_32 = 0x0010, /* 32 bit x-8-8-8 RGB data, first byte unused in each pixel. */
+ kPMRGBX_32 = 0x0020, /* 32 bit 8-8-8-x RGB data, last byte unused in each pixel. */
+ kPMRGBX_32_Sep_Gray_8 = 0x0040, /* Same as kPMRGBX_32 but with an extra plane of 8-bit K-separation. */
+ kPMCMYK_32 = 0x0080, /* 32 bit 8-8-8-8 CMYK data. All bytes used. */
+ kPMUnused = 0xFF00 /* Remaining bits are unused for now and should be clear. */
+};
+
+
+typedef UInt32 PMBandOrder;
+enum {
+ kPMFirstBand = 0x0000, /* First band of the frame */
+ kPMMiddleBand = 0x0001, /* Mid-pack band */
+ kPMLastBand = 0x0002, /* Last band */
+ kPMLoneBand = 0x0003 /* The only band (whole frame) */
+};
+
+/* PMRasterBand: */
+struct PMRasterBand {
+ Ptr baseAddress; /* ptr to where data is stored */
+ UInt32 size; /* #bytes in band */
+ UInt32 yOffset; /* Band position in the page. */
+ UInt32 height; /* How many scanlines in this band. */
+ UInt32 depth; /* How many bits per pixel for this band. */
+ PMBandOrder order; /* band order in page: first, middle, last, lone. */
+};
+typedef struct PMRasterBand PMRasterBand;
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(pop)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack()
+#endif
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+