diff options
Diffstat (limited to 'common/quicktime_win32/PMDefinitions.h')
| -rw-r--r-- | common/quicktime_win32/PMDefinitions.h | 359 |
1 files changed, 359 insertions, 0 deletions
diff --git a/common/quicktime_win32/PMDefinitions.h b/common/quicktime_win32/PMDefinitions.h new file mode 100644 index 0000000..8228aa4 --- /dev/null +++ b/common/quicktime_win32/PMDefinitions.h @@ -0,0 +1,359 @@ +/* + File: PMDefinitions.h + + Contains: Carbon Printing Manager Interfaces. + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1998-2002 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 __PMDEFINITIONS__ +#define __PMDEFINITIONS__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MACERRORS__ +#include <MacErrors.h> +#endif + +#ifndef __CFSTRING__ +#include <CFString.h> +#endif + + + +#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 + +/* Printing objects */ +typedef const void * PMObject; +typedef struct OpaquePMDialog* PMDialog; +typedef struct OpaquePMPrintSettings* PMPrintSettings; +typedef struct OpaquePMPageFormat* PMPageFormat; +typedef struct OpaquePMPrintContext* PMPrintContext; +typedef struct OpaquePMPrintSession* PMPrintSession; +typedef struct OpaquePMPrinter* PMPrinter; +typedef struct OpaquePMServer* PMServer; +enum { + kPMCancel = 0x0080 /* user hit cancel button in dialog */ +}; + +#define kPMNoData NULL /* for general use */ +#define kPMDontWantSize NULL /* for parameters which return size information */ +#define kPMDontWantData NULL /* for parameters which return data */ +#define kPMDontWantBoolean NULL /* for parameters which take a boolean reference */ +#define kPMNoReference NULL /* for parameters which take an address pointer */ +/* for parameters which take a PrintSettings reference */ +#define kPMNoPrintSettings ((PMPrintSettings)NULL) +/* for parameters which take a PageFormat reference */ +#define kPMNoPageFormat ((PMPageFormat)NULL) +/* for parameters which take a Server reference */ +#define kPMServerLocal ((PMServer)NULL) +typedef UInt16 PMDestinationType; +enum { + kPMDestinationInvalid = 0, + kPMDestinationPrinter = 1, + kPMDestinationFile = 2, + kPMDestinationFax = 3, + kPMDestinationPreview = 4 +}; + +#define kPMDestinationTypeDefault kPMDestinationPrinter +typedef UInt32 PMTag; +enum { + /* common tags */ + kPMCurrentValue = FOUR_CHAR_CODE('curr'), /* current setting or value */ + kPMDefaultValue = FOUR_CHAR_CODE('dflt'), /* default setting or value */ + kPMMinimumValue = FOUR_CHAR_CODE('minv'), /* the minimum setting or value */ + kPMMaximumValue = FOUR_CHAR_CODE('maxv'), /* the maximum setting or value */ + /* profile tags */ + kPMSourceProfile = FOUR_CHAR_CODE('srcp'), /* source profile */ + /* resolution tags */ + kPMMinRange = FOUR_CHAR_CODE('mnrg'), /* Min range supported by a printer */ + kPMMaxRange = FOUR_CHAR_CODE('mxrg'), /* Max range supported by a printer */ + kPMMinSquareResolution = FOUR_CHAR_CODE('mins'), /* Min with X and Y resolution equal */ + kPMMaxSquareResolution = FOUR_CHAR_CODE('maxs'), /* Max with X and Y resolution equal */ + kPMDefaultResolution = FOUR_CHAR_CODE('dftr') /* printer default resolution */ +}; + + +typedef UInt16 PMOrientation; +enum { + kPMPortrait = 1, + kPMLandscape = 2, + kPMReversePortrait = 3, /* will revert to kPortrait for current drivers */ + kPMReverseLandscape = 4 /* will revert to kLandscape for current drivers */ +}; + +/* Printer states */ +typedef UInt16 PMPrinterState; +enum { + kPMPrinterIdle = 3, + kPMPrinterProcessing = 4, + kPMPrinterStopped = 5 +}; + +enum { + kSizeOfTPrint = 120 /* size of old TPrint record */ +}; + +typedef UInt16 PMColorMode; +enum { + kPMBlackAndWhite = 1, + kPMGray = 2, + kPMColor = 3, + kPMColorModeDuotone = 4, /* 2 channels */ + kPMColorModeSpecialColor = 5 /* to allow for special colors such as metalic, light cyan, etc. */ +}; + +/* Constants to define the ColorSync Intents. These intents may be used */ +/* to set an intent part way through a page or for an entire document. */ +typedef UInt32 PMColorSyncIntent; +enum { + kPMColorIntentUndefined = 0x0000, /* User or application have not declared an intent, use the printer's default. */ + kPMColorIntentAutomatic = 0x0001, /* Automatically match for photos and graphics anywhere on the page. */ + kPMColorIntentPhoto = 0x0002, /* Use Photographic (cmPerceptual) intent for all contents. */ + kPMColorIntentBusiness = 0x0004, /* Use Business Graphics (cmSaturation) intent for all contents. */ + kPMColorIntentRelColor = 0x0008, /* Use Relative Colormetrics (Logo Colors) for the page. */ + kPMColorIntentAbsColor = 0x0010, /* Use absolute colormetric for the page. */ + kPMColorIntentUnused = 0xFFE0 /* Remaining bits unused at this time. */ +}; + +/* Print quality modes "standard options" */ +typedef UInt32 PMQualityMode; +enum { + kPMQualityLowest = 0x0000, /* Absolute lowest print quality */ + kPMQualityInkSaver = 0x0001, /* Saves ink but may be slower */ + kPMQualityDraft = 0x0004, /* Print at highest speed, ink used is secondary consideration */ + kPMQualityNormal = 0x0008, /* Print in printers "general usage" mode for good balance between quality and speed */ + kPMQualityPhoto = 0x000B, /* Optimize quality of photos on the page. Speed is not a concern */ + kPMQualityBest = 0x000D, /* Get best quality output for all objects and photos. */ + kPMQualityHighest = 0x000F /* Absolute highest quality attained from a printers */ +}; + + +/* Constants for our "standard" paper types */ +typedef UInt32 PMPaperType; +enum { + kPMPaperTypeUnknown = 0x0000, /* Not sure yet what paper type we have. */ + kPMPaperTypePlain = 0x0001, /* Plain paper */ + kPMPaperTypeCoated = 0x0002, /* Has a special coating for sharper images and text */ + kPMPaperTypePremium = 0x0003, /* Special premium coated paper */ + kPMPaperTypeGlossy = 0x0004, /* High gloss special coating */ + kPMPaperTypeTransparency = 0x0005, /* Used for overheads */ + kPMPaperTypeTShirt = 0x0006 /* Used to iron on t-shirts */ +}; + +/* Scaling alignment: */ +typedef UInt16 PMScalingAlignment; +enum { + kPMScalingPinTopLeft = 1, + kPMScalingPinTopRight = 2, + kPMScalingPinBottomLeft = 3, + kPMScalingPinBottomRight = 4, + kPMScalingCenterOnPaper = 5, + kPMScalingCenterOnImgArea = 6 +}; + +/* Duplex binding directions: */ +typedef UInt16 PMDuplexBinding; +enum { + kPMDuplexBindingLeftRight = 1, + kPMDuplexBindingTopDown = 2 +}; + +/* Layout directions: */ +typedef UInt16 PMLayoutDirection; +enum { + /* Horizontal-major directions: */ + kPMLayoutLeftRightTopBottom = 1, /* English reading direction. */ + kPMLayoutLeftRightBottomTop = 2, + kPMLayoutRightLeftTopBottom = 3, + kPMLayoutRightLeftBottomTop = 4, /* Vertical-major directions: */ + kPMLayoutTopBottomLeftRight = 5, + kPMLayoutTopBottomRightLeft = 6, + kPMLayoutBottomTopLeftRight = 7, + kPMLayoutBottomTopRightLeft = 8 +}; + +/* Page borders: */ +typedef UInt16 PMBorderType; +enum { + kPMBorderSingleHairline = 1, + kPMBorderDoubleHairline = 2, + kPMBorderSingleThickline = 3, + kPMBorderDoubleThickline = 4 +}; + +/* Useful Constants for PostScript Injection */ +enum { + kPSPageInjectAllPages = -1, /* specifies to inject on all pages */ + kPSInjectionMaxDictSize = 5 /* maximum size of a dictionary used for PSInjection */ +}; + +/* PostScript Injection values for kPSInjectionPlacementKey */ +typedef UInt16 PSInjectionPlacement; +enum { + kPSInjectionBeforeSubsection = 1, + kPSInjectionAfterSubsection = 2, + kPSInjectionReplaceSubsection = 3 +}; + +/* PostScript Injection values for kPSInjectionSectionKey */ +typedef SInt32 PSInjectionSection; +enum { + /* Job */ + kInjectionSectJob = 1, /* CoverPage */ + kInjectionSectCoverPage = 2 +}; + +/* PostScript Injection values for kPSInjectionSubSectionKey */ +typedef SInt32 PSInjectionSubsection; +enum { + kInjectionSubPSAdobe = 1, /* %!PS-Adobe */ + kInjectionSubPSAdobeEPS = 2, /* %!PS-Adobe-3.0 EPSF-3.0 */ + kInjectionSubBoundingBox = 3, /* BoundingBox */ + kInjectionSubEndComments = 4, /* EndComments */ + kInjectionSubOrientation = 5, /* Orientation */ + kInjectionSubPages = 6, /* Pages */ + kInjectionSubPageOrder = 7, /* PageOrder */ + kInjectionSubBeginProlog = 8, /* BeginProlog */ + kInjectionSubEndProlog = 9, /* EndProlog */ + kInjectionSubBeginSetup = 10, /* BeginSetup */ + kInjectionSubEndSetup = 11, /* EndSetup */ + kInjectionSubBeginDefaults = 12, /* BeginDefaults */ + kInjectionSubEndDefaults = 13, /* EndDefaults */ + kInjectionSubDocFonts = 14, /* DocumentFonts */ + kInjectionSubDocNeededFonts = 15, /* DocumentNeededFonts */ + kInjectionSubDocSuppliedFonts = 16, /* DocumentSuppliedFonts */ + kInjectionSubDocNeededRes = 17, /* DocumentNeededResources */ + kInjectionSubDocSuppliedRes = 18, /* DocumentSuppliedResources*/ + kInjectionSubDocCustomColors = 19, /* DocumentCustomColors */ + kInjectionSubDocProcessColors = 20, /* DocumentProcessColors */ + kInjectionSubPlateColor = 21, /* PlateColor */ + kInjectionSubPageTrailer = 22, /* PageTrailer */ + kInjectionSubTrailer = 23, /* Trailer */ + kInjectionSubEOF = 24, /* EOF */ + kInjectionSubBeginFont = 25, /* BeginFont */ + kInjectionSubEndFont = 26, /* EndFont */ + kInjectionSubBeginResource = 27, /* BeginResource */ + kInjectionSubEndResource = 28, /* EndResource */ + kInjectionSubPage = 29, /* Page */ + kInjectionSubBeginPageSetup = 30, /* BeginPageSetup */ + kInjectionSubEndPageSetup = 31 /* EndPageSetup */ +}; + + +/* Description types */ +#define kPMPPDDescriptionType CFSTR("PMPPDDescriptionType") +/* Document format strings */ +#define kPMDocumentFormatDefault CFSTR("com.apple.documentformat.default") +#define kPMDocumentFormatPDF CFSTR("application/pdf") +#define kPMDocumentFormatPICT CFSTR("application/vnd.apple.printing-pict") +#define kPMDocumentFormatPICTPS CFSTR("application/vnd.apple.printing-pict-ps") +#define kPMDocumentFormatPostScript CFSTR("application/postscript") +/* Graphic context strings */ +#define kPMGraphicsContextDefault CFSTR("com.apple.graphicscontext.default") +#define kPMGraphicsContextQuickdraw CFSTR("com.apple.graphicscontext.quickdraw") +#define kPMGraphicsContextCoreGraphics CFSTR("com.apple.graphicscontext.coregraphics") +/* Data format strings */ +#define kPMDataFormatPS kPMDocumentFormatPostScript +#define kPMDataFormatPDF kPMDocumentFormatPDF +#define kPMDataFormatPICT kPMDocumentFormatPICT +#define kPMDataFormatPICTwPS kPMDocumentFormatPICTPS +/* PostScript Injection Dictionary Keys */ +#define kPSInjectionSectionKey CFSTR("section") +#define kPSInjectionSubSectionKey CFSTR("subsection") +#define kPSInjectionPageKey CFSTR("page") +#define kPSInjectionPlacementKey CFSTR("place") +#define kPSInjectionPostScriptKey CFSTR("psdata") + +/* OSStatus return codes */ +enum { + kPMNoError = noErr, + kPMGeneralError = -30870, + kPMOutOfScope = -30871, /* an API call is out of scope */ + kPMInvalidParameter = paramErr, /* a required parameter is missing or invalid */ + kPMNoDefaultPrinter = -30872, /* no default printer selected */ + kPMNotImplemented = -30873, /* this API call is not supported */ + kPMNoSuchEntry = -30874, /* no such entry */ + kPMInvalidPrintSettings = -30875, /* the printsettings reference is invalid */ + kPMInvalidPageFormat = -30876, /* the pageformat reference is invalid */ + kPMValueOutOfRange = -30877, /* a value passed in is out of range */ + kPMLockIgnored = -30878 /* the lock value was ignored */ +}; + +enum { + kPMInvalidPrintSession = -30879, /* the print session is invalid */ + kPMInvalidPrinter = -30880, /* the printer reference is invalid */ + kPMObjectInUse = -30881 /* the object is in use */ +}; + + +enum { + kPMPrintAllPages = -1 +}; + +enum { + kPMUnlocked = false, + kPMLocked = true +}; + + +struct PMRect { + double top; + double left; + double bottom; + double right; +}; +typedef struct PMRect PMRect; +struct PMResolution { + double hRes; + double vRes; +}; +typedef struct PMResolution PMResolution; +struct PMLanguageInfo { + Str32 level; + Str32 version; + Str32 release; +}; +typedef struct PMLanguageInfo PMLanguageInfo; + +#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 + + +#endif /* __PMDEFINITIONS__ */ + |