mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-10 10:49:35 +00:00
1
This commit is contained in:
@@ -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__ */
|
||||
|
||||
Reference in New Issue
Block a user