123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- { CoreGraphics - CGPDFContext.h
- Copyright (c) 2000-2011 Apple Inc.
- All rights reserved. }
- { Pascal Translation: Peter N Lewis, <[email protected]>, August 2005 }
- { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
- { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2012 }
- { Pascal Translation Updated: Jonas Maebe, <[email protected]>, August 2015 }
- {
- Modified for use with Free Pascal
- Version 308
- Please report any bugs to <[email protected]>
- }
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- {$mode macpas}
- {$modeswitch cblocks}
- {$packenum 1}
- {$macro on}
- {$inline on}
- {$calling mwpascal}
- unit CGPDFContext;
- interface
- {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
- {$setc GAP_INTERFACES_VERSION := $0308}
- {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
- {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
- {$endc}
- {$ifc defined CPUPOWERPC and defined CPUI386}
- {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
- {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
- {$endc}
- {$ifc not defined __ppc__ and defined CPUPOWERPC32}
- {$setc __ppc__ := 1}
- {$elsec}
- {$setc __ppc__ := 0}
- {$endc}
- {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
- {$setc __ppc64__ := 1}
- {$elsec}
- {$setc __ppc64__ := 0}
- {$endc}
- {$ifc not defined __i386__ and defined CPUI386}
- {$setc __i386__ := 1}
- {$elsec}
- {$setc __i386__ := 0}
- {$endc}
- {$ifc not defined __x86_64__ and defined CPUX86_64}
- {$setc __x86_64__ := 1}
- {$elsec}
- {$setc __x86_64__ := 0}
- {$endc}
- {$ifc not defined __arm__ and defined CPUARM}
- {$setc __arm__ := 1}
- {$elsec}
- {$setc __arm__ := 0}
- {$endc}
- {$ifc not defined __arm64__ and defined CPUAARCH64}
- {$setc __arm64__ := 1}
- {$elsec}
- {$setc __arm64__ := 0}
- {$endc}
- {$ifc defined cpu64}
- {$setc __LP64__ := 1}
- {$elsec}
- {$setc __LP64__ := 0}
- {$endc}
- {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
- {$error Conflicting definitions for __ppc__ and __i386__}
- {$endc}
- {$ifc defined __ppc__ and __ppc__}
- {$setc TARGET_CPU_PPC := TRUE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __ppc64__ and __ppc64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := TRUE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __i386__ and __i386__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := TRUE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$ifc defined iphonesim}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$endc}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __x86_64__ and __x86_64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := TRUE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$ifc defined iphonesim}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$endc}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __arm__ and __arm__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := TRUE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := TRUE}
- {$elifc defined __arm64__ and __arm64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := TRUE}
- {$ifc defined ios}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_OS_EMBEDDED := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$endc}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$elsec}
- {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
- {$endc}
- {$ifc defined __LP64__ and __LP64__ }
- {$setc TARGET_CPU_64 := TRUE}
- {$elsec}
- {$setc TARGET_CPU_64 := FALSE}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := TRUE}
- {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
- {$elifc defined FPC_LITTLE_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := FALSE}
- {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
- {$elsec}
- {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
- {$endc}
- {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
- {$setc CALL_NOT_IN_CARBON := FALSE}
- {$setc OLDROUTINENAMES := FALSE}
- {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
- {$setc OPAQUE_UPP_TYPES := TRUE}
- {$setc OTCARBONAPPLICATION := TRUE}
- {$setc OTKERNEL := FALSE}
- {$setc PM_USE_SESSION_APIS := TRUE}
- {$setc TARGET_API_MAC_CARBON := TRUE}
- {$setc TARGET_API_MAC_OS8 := FALSE}
- {$setc TARGET_API_MAC_OSX := TRUE}
- {$setc TARGET_CARBON := TRUE}
- {$setc TARGET_CPU_68K := FALSE}
- {$setc TARGET_CPU_MIPS := FALSE}
- {$setc TARGET_CPU_SPARC := FALSE}
- {$setc TARGET_OS_UNIX := FALSE}
- {$setc TARGET_OS_WIN32 := FALSE}
- {$setc TARGET_RT_MAC_68881 := FALSE}
- {$setc TARGET_RT_MAC_CFM := FALSE}
- {$setc TARGET_RT_MAC_MACHO := TRUE}
- {$setc TYPED_FUNCTION_POINTERS := TRUE}
- {$setc TYPE_BOOL := FALSE}
- {$setc TYPE_EXTENDED := FALSE}
- {$setc TYPE_LONGLONG := TRUE}
- uses MacTypes,CGGeometry,CFBase,CFData,CFDictionary,CFURL,CGBase,CGContext,CGDataConsumer;
- {$endc} {not MACOSALLINCLUDE}
- {$ALIGN POWER}
- { Create a PDF context, using `consumer' for output. `mediaBox' is the
- default page media bounding box; if NULL, then a default page size is
- used. `auxiliaryInfo' specifies additional information used by the PDF
- context when generating the PDF file. The keys and values in
- `auxiliaryInfo' are described below. If `mediaBox' is non-NULL, then its
- value overrides the value of `kCGPDFContextMediaBox' if specified in the
- `auxiliaryInfo' dictionary. }
- function CGPDFContextCreate( consumer: CGDataConsumerRef; const (*var*) mediaBox: CGRect; auxiliaryInfo: CFDictionaryRef ): CGContextRef; external name '_CGPDFContextCreate';
- (* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
- { Create a PDF context for writing to `url'. This function behaves in the
- same manner as the above function, except that the output data will be
- written to `url'. }
- function CGPDFContextCreateWithURL( url: CFURLRef; const (*var*) mediaBox: CGRect; auxiliaryInfo: CFDictionaryRef ): CGContextRef; external name '_CGPDFContextCreateWithURL';
- (* CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) *)
- { Close a PDF context. After closing the context, all pending data is
- written to the context's destination, and the PDF file is completed. No
- additional data will be written to the context's destionation after
- closing. }
- procedure CGPDFContextClose( context: CGContextRef ); external name '_CGPDFContextClose';
- (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)
- { Begin a new page in the PDF context `context'. }
- procedure CGPDFContextBeginPage( context: CGContextRef; pageInfo: CFDictionaryRef ); external name '_CGPDFContextBeginPage';
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { End the current page in the PDF context `context'. }
- procedure CGPDFContextEndPage( context: CGContextRef ); external name '_CGPDFContextEndPage';
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { Add the metadata stream specified by `metadata' to the document catalog
- of `context', as described in Table 3.25, "Entries in the catalog
- dictionary", of the PDF 1.7 specification. The contents of metadata must
- be XML formatted according to the Extensible Metadata Platform, as
- described in section 10.2.2, "Metadata Streams", of the PDF 1.7
- specification. }
- procedure CGPDFContextAddDocumentMetadata( context: CGContextRef; metadata: CFDataRef ); external name '_CGPDFContextAddDocumentMetadata';
- (* CG_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
- { Set the URL associated with `rect' to `url' in the PDF context
- `context'. }
- procedure CGPDFContextSetURLForRect( context: CGContextRef; url: CFURLRef; rect: CGRect ); external name '_CGPDFContextSetURLForRect';
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { Create a PDF destination named `name' at `point' in the current page of
- the PDF context `context'. }
- procedure CGPDFContextAddDestinationAtPoint( context: CGContextRef; name: CFStringRef; point: CGPoint ); external name '_CGPDFContextAddDestinationAtPoint';
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { Specify a destination named `name' to jump to when clicking in `rect' of
- the current page of the PDF context `context'. }
- procedure CGPDFContextSetDestinationForRect( context: CGContextRef; name: CFStringRef; rect: CGRect ); external name '_CGPDFContextSetDestinationForRect';
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- {** Keys for the auxiliary info dictionary or the page info dictionary. **}
- { The media box for the document or for a given page. Optional; if present,
- the value of this key must be a CFData containing a CGRect (stored by
- value, not by reference). }
- var kCGPDFContextMediaBox: CFStringRef; external name '_kCGPDFContextMediaBox'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { The crop box for the document or for a given page. Optional; if present,
- the value of this key must be a CFData containing a CGRect (stored by
- value, not by reference). }
- var kCGPDFContextCropBox: CFStringRef; external name '_kCGPDFContextCropBox'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { The bleed box for the document or for a given page. Optional; if present,
- the value of this key must be a CFData containing a CGRect (stored by
- value, not by reference). }
- var kCGPDFContextBleedBox: CFStringRef; external name '_kCGPDFContextBleedBox'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { The trim box for the document or for a given page. Optional; if present,
- the value of this key must be a CFData containing a CGRect (stored by
- value, not by reference). }
- var kCGPDFContextTrimBox: CFStringRef; external name '_kCGPDFContextTrimBox'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { The art box for the document or for a given page. Optional; if present,
- the value of this key must be a CFData containing a CGRect (stored by
- value, not by reference). }
- var kCGPDFContextArtBox: CFStringRef; external name '_kCGPDFContextArtBox'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- {** Keys for auxiliary info dictionary. **}
- { The document's title. Optional; if present, the value of this key must be
- a CFString. }
- //const kCGPDFContextTitle: CFStringRef;
- //CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0);
- { The name of the person who created this document. Optional; if present,
- the value of this key must be a CFString. }
- //const kCGPDFContextAuthor: CFStringRef;
- //CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0);
- { The subject of a document. Optional; if present, the value of this key
- must be a CFString. }
- var kCGPDFContextSubject: CFStringRef; external name '_kCGPDFContextSubject'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)
- { The keywords for this document. This key is optional. If the value of
- this key is a CFString, the /Keywords entry will be the specified string.
- If the value of this key is a CFArray, then it must be an array of
- CFStrings. The /Keywords entry will in this case be the concatenation of
- the specified strings separated by commas (","). In addition, an entry
- with the key "/AAPL:Keywords" will be stored in the document information
- dictionary; its value is an array consisting of each of the specified
- strings. The value of this key must be in one of the above forms;
- otherwise, this key is ignored. }
- var kCGPDFContextKeywords: CFStringRef; external name '_kCGPDFContextKeywords'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)
- { The name of the application that created the original data used to create
- this document. Optional; if present, the value of this key must be a
- CFString. }
- //const kCGPDFContextCreator: CFStringRef;
- //CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0);
- { The "owner password" of the PDF document. If this key is specified, the
- document will be encrypted using the value as the owner password;
- otherwise, the document will not be encrypted. The value of this key must
- be a CFStringRef which can be represented in ASCII encoding; only the
- first 32 bytes will be used for the password. There is no default value
- for this key.
- If the value of this key cannot be represented in ASCII, the document
- will not be created and the creation function will return NULL. }
- var kCGPDFContextOwnerPassword: CFStringRef; external name '_kCGPDFContextOwnerPassword'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { The "user password" of the PDF document. If the document is encrypted,
- then the value of this key will be the user password for the document; if
- unspecified, the user password will be the empty string. The value of
- this key must be a CFStringRef which can be represented in ASCII
- encoding; only the first 32 bytes will be used for the password.
- If the value of this key cannot be represented in ASCII, the document
- will not be created and the creation function will return NULL. }
- var kCGPDFContextUserPassword: CFStringRef; external name '_kCGPDFContextUserPassword'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { Specifies the encryption key length in bits; see Table 3.18 "Entries
- common to all encryption dictionaries", PDF Reference: Adobe PDF version
- 1.5 (4th ed.) for more info. Optional; if present, the value of this key
- must be a CFNumber with value which is a multiple of 8 between 40 and
- 128, inclusive. If this key is absent or invalid, the encryption key
- length defaults to 40 bits. }
- var kCGPDFContextEncryptionKeyLength: CFStringRef; external name '_kCGPDFContextEncryptionKeyLength'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) *)
- { Used to specify whether the document allows printing when unlocked with
- the user password. The value of this key must be a CFBooleanRef. The
- default value of this key is "kCFBooleanTrue". }
- var kCGPDFContextAllowsPrinting: CFStringRef; external name '_kCGPDFContextAllowsPrinting'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- { Used to specify whether the document allows copying when unlocked with
- the user password. The value of this key must be a CFBooleanRef. The
- default value of this key is "kCFBooleanTrue". }
- var kCGPDFContextAllowsCopying: CFStringRef; external name '_kCGPDFContextAllowsCopying'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) *)
- {$ifc TARGET_OS_MAC}
- { The document's PDF/X output intent. Optional; if present, the value of
- this key must be a CFDictionaryRef. The dictionary is added to the
- /OutputIntents entry in the PDF file's document catalog. The keys and
- values contained in the dictionary must match those specified in section
- 9.10.4 of the PDF 1.4 specification, ISO/DIS 15930-3 document published
- by ISO/TC 130, and Adobe Technical Note #5413. }
- //const kCGPDFContextOutputIntent: CFStringRef;
- //CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA);
- { The following keys are supported in the output intent dictionary:
- kCGPDFXOutputIntentSubtype ("S"): The output intent subtype. This key is
- required; the value of this key must be a CFString equal to "GTS_PDFX";
- otherwise, the dictionary is ignored. }
- var kCGPDFXOutputIntentSubtype: CFStringRef; external name '_kCGPDFXOutputIntentSubtype'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA) *)
- { kCGPDFXOutputConditionIdentifier ("OutputConditionIdentifier"): A string
- identifying the intended output device or production condition in a
- human- or machine-readable form. This key is required; the value of this
- key must be a CFString. For best results, the string should be
- representable losslessly in ASCII encoding. }
- var kCGPDFXOutputConditionIdentifier: CFStringRef; external name '_kCGPDFXOutputConditionIdentifier'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA) *)
- { kCGPDFXOutputCondition ("OutputCondition"): A text string identifying the
- intended output device or production condition in a human-readable form.
- This key is optional; if present, the value of this key must be a
- CFString. }
- var kCGPDFXOutputCondition: CFStringRef; external name '_kCGPDFXOutputCondition'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA) *)
- { kCGPDFXRegistryName ("RegistryName"): A string identifying the registry
- in which the condition designated by `kCGPDFXOutputConditionIdentifier'
- is defined. This key is optional; if present, the value of this key must
- be a CFString. For best results, the string should be representable
- losslessly in ASCII encoding. }
- var kCGPDFXRegistryName: CFStringRef; external name '_kCGPDFXRegistryName'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA) *)
- { kCGPDFXInfo ("Info"): A human-readable text string containing additional
- information about the intended target device or production condition.
- This key is required if the value of `kCGPDFXOutputConditionIdentifier'
- does not specify a standard production condition; it is optional
- otherwise. If present, the value of this key must be a CFString. }
- var kCGPDFXInfo: CFStringRef; external name '_kCGPDFXInfo'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA) *)
- { kCGPDFXDestinationOutputProfile ("DestOutputProfile"): An ICC profile
- stream defining the transformation from the PDF document's source colors
- to output device colorants. This key is required if the value of
- `kCGPDFXOutputConditionIdentifier' does not specify a standard production
- condition; it is optional otherwise. If present, the value of this key
- must be a ICC-based CGColorSpaceRef. }
- var kCGPDFXDestinationOutputProfile: CFStringRef; external name '_kCGPDFXDestinationOutputProfile'; (* attribute const *)
- (* CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA) *)
- {$endc}
- { The document's output intents. Optional; if present, the value must be a
- CFArrayRef containing one or more CFDictionaryRefs. The array is added to
- the PDF document in the /OutputIntents entry in the PDF file's document
- catalog. Each dictionary in the array must be of form specified above for
- the `kCGPDFContextOutputIntent' key, except that only the first
- dictionary in the array may contain the `kCGPDFXOutputIntentSubtype'
- ("S") key with a value of "GTS_PDFX". If both `kCGPDFContextOutputIntent'
- and `kCGPDFContextOutputIntents' keys are specified, the former is
- ignored. }
- // const kCGPDFContextOutputIntents: CFStringRef;
- // CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA);
- { Compatibility with earlier versions of Mac OS X. }
- // #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
- {
- PNL comments:
-
- There is an issue here that these types below are macro defines, and they
- conflict with the definitions above unless only one or the other is defined.
-
- This only applies to GPC where GPCMacros.inc contains the macros and
- is typically read before this Pascal source file.
- }
- {$ifc USE_CFSTR_CONSTANT_MACROS}
- {$definec kCGPDFContextTitle CFSTRP('kCGPDFContextTitle')}
- {$endc}
- {$ifc USE_CFSTR_CONSTANT_MACROS}
- {$definec kCGPDFContextAuthor CFSTRP('kCGPDFContextAuthor')}
- {$endc}
- {$ifc USE_CFSTR_CONSTANT_MACROS}
- {$definec kCGPDFContextCreator CFSTRP('kCGPDFContextCreator')}
- {$endc}
- {$ifc TARGET_OS_MAC}
- {$ifc USE_CFSTR_CONSTANT_MACROS}
- {$definec kCGPDFContextOutputIntent CFSTRP('kCGPDFContextOutputIntent')}
- {$endc}
- {$ifc USE_CFSTR_CONSTANT_MACROS}
- {$definec kCGPDFContextOutputIntents CFSTRP('kCGPDFContextOutputIntents')}
- {$endc}
- {$endif}
- // #endif { MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4 }
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- end.
- {$endc} {not MACOSALLINCLUDE}
|