Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
5#ifndef JAWSMAKO_TYPES
6#define JAWSMAKO_TYPES
7
14
15#include <edl/edlfwd.h>
16#include <edl/edlstring.h>
17#include <edl/smartptr.h>
18#include <edl/ircobject.h>
19#include <edl/iedlfactory.h>
20#include <edl/isession.h>
21#include <edl/edlerrors.h>
22#include <edl/edltypes.h>
23#include <edl/edlvector.h>
24#include <edl/idomid.h>
25#include <edl/ifilespec.h>
26#include <edl/edlgeom.h>
27#include <edl/iabort.h>
28
29#define JAWSMAKO_API EDL_API
30
31namespace JawsMako
32{
33 using namespace EDL;
34
35 // Forward declaration of common JawsMako classes
36 class IJawsMako;
38 class IDocument;
40 class IInput;
42 class IOutput;
44 class IOutputWriter;
48 class IPageRaster;
50 class IPage;
52 class IJawsRenderer;
54 class ITextRun;
56 class IOptionalContent;
64 class IOutputIntent;
70 class IStructure;
78 class IPJLParser;
80 using IProgressTick = EDL::IProgressTick;
81 using IProgressTickPtr = EDL::IProgressTickPtr;
82 using IProgressEventHandler = EDL::IProgressEventHandler;
83 using IProgressEventHandlerPtr = EDL::IProgressEventHandlerPtr;
84 using IProgressMonitor = EDL::IProgressMonitor;
85 using IProgressMonitorPtr = EDL::IProgressMonitorPtr;
86 class IPageLabel;
88 class IPDFValidator;
90 class IScanOverprint;
92
93 class IPDFObject;
96 class IPDFInteger;
98 class IPDFBoolean;
100 class IPDFReal;
102 class IPDFNull;
104 class IPDFString;
106 class IPDFName;
109 class IPDFArray;
111 class IPDFDictionary;
113 class IPDFReference;
115 class IPDFFarReference;
117 class IPDFStream;
119 class IPDFOperator;
121 class IPDFObjectStore;
123
128
130
131
136
137
139
145
151
157
163
164 // Vector types
165
187
188
199
206
213
220
227
234
241
248
255
262
269
276
283
290
291
306
319
333
340
351
359
367
373
381
388 {
389 public:
413 uint64 diskLimit = 0,
414 uint32 blockSize = 0)
415 {
416 m_memoryLimit = memoryLimit;
417 m_diskLimit = diskLimit;
418 m_blockSize = blockSize;
419 }
420
421 public:
425 };
426
427}
428
429#endif
Definition edlvector.h:30
An abstract class for EDL exceptions.
Definition edlerrors.h:222
CTemporaryStoreParameters(uint64 memoryLimit=0, uint64 diskLimit=0, uint32 blockSize=0)
Initialise the temporary store parameter block.
Definition types.h:412
uint64 m_memoryLimit
Definition types.h:422
uint64 m_diskLimit
Definition types.h:423
uint32 m_blockSize
Definition types.h:424
A self-contained collection of IDocuments.
Definition jawsmako.h:793
A document from an IDocumentAssembly, allowing for high level document and page management,...
Definition jawsmako.h:986
Abstract input source that can open files from disk or a stream and create an IDocumentAssembly for t...
Definition jawsmako.h:466
An instance of the IJawsMako library. Only one instance of this object is currently allowed....
Definition jawsmako.h:306
A renderer that uses the Jaws RIP to create images from arbitrary DOM.
Definition jawsmako.h:1726
Details of Marked Content applied to an IDOMGroup.
Definition structure.h:44
A subclass of IMarkedContentDetails that is created when the marked content is associated with the do...
Definition structure.h:87
A named destination in a PDF Document.
Definition interactive.h:2522
Interface for objects used to tag content as optional. Instances of this class are set in IDOMGroup i...
Definition optionalcontent.h:345
Interface for an optional content group.
Definition optionalcontent.h:498
A reference to an optional content group.
Definition optionalcontent.h:480
Root level optional content information for an entire document.
Definition optionalcontent.h:77
Abstract output sink that can output DOM to a file or stream in a given output format.
Definition jawsmako.h:600
Interface class representing a PDF output intent.
Definition outputintent.h:21
A writer for writing individual pages and documents to an output in piecemeal fashion.
Definition jawsmako.h:756
A simple class representing a mutable array of other PDF objects.
Definition pdfobjects.h:650
A simple immutable boolean PDF object type.
Definition pdfobjects.h:217
A simple class representing a mutable dictionary of key-value pairs where the keys are PDF names and ...
Definition pdfobjects.h:808
A simple class representing an immutable PDF indirect reference from a remote context such as (for ex...
Definition pdfobjects.h:624
A simple immutable integer PDF object type.
Definition pdfobjects.h:191
Definition pdfobjects.h:350
A simple immutable "null" pdf object.
Definition pdfobjects.h:270
Abstract interface for a PDF internal object and common interfaces. All non-composite objects are imm...
Definition pdfobjects.h:56
A store of IPDFObjects holding a subset/subtree of an entire PDF object database, allowing storage,...
Definition pdfobjects.h:1202
Definition pdfobjects.h:1171
A simple immutable floating-point PDF object type.
Definition pdfobjects.h:244
A simple class representing an immutable PDF indirect reference.
Definition pdfobjects.h:457
Definition pdfobjects.h:1134
A simple immutable string pdf object containing raw unencoded data or PDF Text information.
Definition pdfobjects.h:290
A class for validating PDF documents against published PDF standards such as PDF/X.
Definition validate.h:21
A PJL (Printer Job Language) parser for Mako.
Definition pjl.h:21
A page from an IDocument, allowing high level page management, and providing on-demand access to page...
Definition jawsmako.h:1362
Interface class representing a PDF page label.
Definition pagelabels.h:20
A rasterized equivalent of a page from an IDocument.
Definition jawsmako.h:1280
The interface for the object that performs scanning for overprint.
Definition scanoverprint.h:20
A structure element in the structure tree.
Definition structure.h:275
A token-like class encapsulating a reference to a structure element.
Definition structure.h:170
Top level tracking structure describing the logical structure of the document.
Definition structure.h:190
A run of text, containing unicode information, the position, transformation and bounds of the text.
Definition text.h:116
EDLString and EDLSysString classes and associated EDL string manipulation functions.
std::string EDLSysString
Definition edlstring.h:158
std::wstring EDLString
Definition edlstring.h:165
std::basic_string< u16char > EDLU16String
Definition edlstring.h:162
std::basic_string< u32char > EDLU32String
Definition edlstring.h:163
CEDLVector< EDLString > CEDLStringVect
Definition edlstring.h:173
CEDLVector< EDLSysString > CEDLSysStringVect
Definition edlstring.h:174
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
unsigned long long uint64
Definition edltypes.h:35
Simple template vector class for general use.
IEDLError IError
An error type used for exceptions. Synonymous with IEDLError.
Definition types.h:129
EDLSysString U8String
A UTF-8 String.
Definition types.h:144
EDLU16String U16String
An explicit UTF-16 string, regardless of platform.
Definition types.h:156
EDLSysString RawString
A raw, 8 bit string. Encoding depends on context.
Definition types.h:150
EDLU32String U32String
An explicit UTF-32 string, regardless of platform.
Definition types.h:162
EDLString String
A wide character string (UTF-16 on Windows, UTF-32 on all other platforms)
Definition types.h:138
Progress monitoring, event handling and abort signalling.
Interface to File specification.
Interface for Reference Counted Object.
Definition apexcustompostprocess.h:17
CEDLVector< double > CDoubleVect
Definition types.h:186
CEDLVector< uint16 > CUInt16Vect
Definition types.h:179
CEDLVector< uint32 > CUInt32Vect
Definition types.h:178
eNormalizationForm
Normalization forms (for use with NormalizeString)
Definition types.h:345
@ eNFNFC
Canonical Decomposition, followed by Canonical Composition.
Definition types.h:349
@ eNFNFKC
Compatibility Decomposition, followed by Canonical Composition.
Definition types.h:347
@ eNFNFD
Canonical Decomposition.
Definition types.h:348
@ eNFNFKD
Compatibility Decomposition.
Definition types.h:346
CEDLVector< INamedDestinationPtr > CNamedDestinationVect
Definition types.h:176
EDL::IProgressEventHandler IProgressEventHandler
Definition types.h:82
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:85
CEDLVector< IStructureElementReferencePtr > CStructureElementReferenceVect
Definition types.h:175
CEDLSysStringVect CRawStringVect
Definition types.h:168
JAWSMAKO_API U16String StringToU16String(const String &string)
Convert String (wide char) to UTF-16 string.
JAWSMAKO_API String inkNameToString(const RawString &string)
Convert string used for ink name to String (wide char)
CEDLSysStringVect CU8StringVect
Definition types.h:167
eOptionalContentEvent
Optional content Event types.
Definition types.h:193
@ eOCEView
View.
Definition types.h:195
@ eOCEPrint
Print.
Definition types.h:196
@ eOCEExport
Export.
Definition types.h:197
@ eOCEUnknown
Unknown.
Definition types.h:194
JAWSMAKO_API U16String U32StringToU16String(const U32String &string)
Convert UTF-32 string to UTF-16 string.
CEDLVector< int64 > CInt64Vect
Definition types.h:181
JAWSMAKO_API U16String U8StringToU16String(const U8String &string)
Convert UTF-8 string to UTF-16 string.
JAWSMAKO_API String NormalizeStringForCompare(const String &string)
Normalize to Unicode for comparison purposes.
CEDLVector< int8 > CInt8Vect
Definition types.h:184
JAWSMAKO_API bool IsCombinationChar(wchar_t c)
Combination characters are in the range 0300-036F in Unicode table. https://en.wikipedia....
JAWSMAKO_API U32String U16StringToU32String(const U16String &string)
Convert UTF-16 string to UTF-32 string.
CEDLVector< U8String > CSpotColorNames
Definition types.h:169
CEDLVector< IPDFObjectPtr > CPDFObjectVect
Definition types.h:95
JAWSMAKO_API U32String StringToU32String(const String &string)
Convert String (wide char) to UTF-32 string.
eInkFallbackEncoding
An enumeration of fallback encoding schemes to use for decoding PDF ink names that are not presented ...
Definition types.h:312
@ eIFEAuto
eIFEMacRoman on Apple platforms, eIFEWindows1252 on all others.
Definition types.h:313
@ eIFEWindows1252
Microsoft Windows codepage 1252.
Definition types.h:315
@ eIFEMacRoman
MacRoman encoding.
Definition types.h:314
@ eIFEPDFText
PDF Text format (BOM UTF-8, UTF-16, or PDFDocEncoding).
Definition types.h:316
@ eIFEShiftJIS
Shift-JIS encoding.
Definition types.h:317
JAWSMAKO_API U8String U32StringToU8String(const U32String &string)
Convert UTF-32 string to UTF-8 string.
CEDLVector< int32 > CInt32Vect
Definition types.h:182
JAWSMAKO_API U8String ShiftJISStringToU8String(const RawString &string)
Convert Shift-JIS string to UTF-8 string.
JAWSMAKO_API U32String U8StringToU32String(const U8String &string)
Convert UTF-8 string to UTF-32 string.
CEDLVector< float > CFloatVect
Definition types.h:185
CEDLStringVect CStringVect
Definition types.h:166
JAWSMAKO_API String U32StringToString(const U32String &string)
Convert UTF-16 string to String (wide char).
EDL::IProgressMonitor IProgressMonitor
Definition types.h:84
CEDLVector< IPDFNamePtr > CPDFNameVect
Definition types.h:108
CEDLVector< EDL::DOMid > CDOMidVector
Definition types.h:170
JAWSMAKO_API U8String U16StringToU8String(const U16String &string)
Convert UTF-16 string to UTF-8 string.
JAWSMAKO_API U8String StringToU8String(const String &string)
Convert String (wide char) to UTF-8 string.
JAWSMAKO_API String U8StringToString(const U8String &string)
Convert UTF-8 string to String (wide char).
JAWSMAKO_API String ReplaceNonListedLigatures(String string)
There are chars that Unicode was not sure whether to classify them as ligatures. They were not ligatu...
EDL::IProgressEventHandlerPtr IProgressEventHandlerPtr
Definition types.h:83
JAWSMAKO_API String U16StringToString(const U16String &string)
Convert UTF-16 string to String (wide char).
JAWSMAKO_API void RemoveCombinationCharacters(String &string)
Remove combination characters.
EDL::IProgressTickPtr IProgressTickPtr
Definition types.h:81
EDL::IProgressTick IProgressTick
Definition types.h:80
CEDLVector< IOptionalContentGroupReferencePtr > COptionalContentGroupReferenceVect
Definition types.h:172
JAWSMAKO_API String NormalizeString(const String &string, eNormalizationForm normalizationForm)
Normalize to Unicode using the supplied normalization form.
CEDLVector< IStructureElementPtr > CStructureElementVect
Definition types.h:174
CEDLVector< ITextRunPtr > CTextRunVect
Definition types.h:171
CEDLVector< uint64 > CUInt64Vect
Definition types.h:177
CEDLVector< int16 > CInt16Vect
Definition types.h:183
CEDLVector< uint8 > CUInt8Vect
Definition types.h:180
CEDLVector< IOutputIntentPtr > COutputIntentVect
Definition types.h:173
EDL smart pointers which, in conjunction with the IRCOject class, provide reference-counted and autom...
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29