Vanilla.PDF  1.4.1
Cross-platform toolkit for creating and modifying PDF documents
c_handles.h
Go to the documentation of this file.
1 #ifndef _C_HANDLES_H
2 #define _C_HANDLES_H
3 
4 #ifdef __cplusplus
5 extern "C"
6 {
7 #endif
8 
24  #define DECLARE_OBJECT_HANDLE(x) \
25  typedef struct x##HandleTag x##Handle;
26 
27  #pragma region Syntax
28 
29  #pragma region Objects
30 
31  DECLARE_OBJECT_HANDLE(Object);
32  DECLARE_OBJECT_HANDLE(ArrayObject);
33  DECLARE_OBJECT_HANDLE(BooleanObject);
34  DECLARE_OBJECT_HANDLE(NameObject);
35  DECLARE_OBJECT_HANDLE(NullObject);
36  DECLARE_OBJECT_HANDLE(RealObject);
37  DECLARE_OBJECT_HANDLE(IntegerObject);
38  DECLARE_OBJECT_HANDLE(StreamObject);
39  DECLARE_OBJECT_HANDLE(StringObject);
40  DECLARE_OBJECT_HANDLE(HexadecimalStringObject);
41  DECLARE_OBJECT_HANDLE(LiteralStringObject);
42  DECLARE_OBJECT_HANDLE(IndirectReferenceObject);
43  DECLARE_OBJECT_HANDLE(DictionaryObject);
44  DECLARE_OBJECT_HANDLE(DictionaryObjectIterator);
45 
46  #pragma endregion
47 
48  #pragma region Files
49 
50  DECLARE_OBJECT_HANDLE(File);
51  DECLARE_OBJECT_HANDLE(FileWriter);
52  DECLARE_OBJECT_HANDLE(FileWriterObserver);
53 
54  DECLARE_OBJECT_HANDLE(Xref);
55  DECLARE_OBJECT_HANDLE(XrefIterator);
56  DECLARE_OBJECT_HANDLE(XrefEntry);
57  DECLARE_OBJECT_HANDLE(XrefFreeEntry);
58  DECLARE_OBJECT_HANDLE(XrefUsedEntry);
59  DECLARE_OBJECT_HANDLE(XrefCompressedEntry);
60  DECLARE_OBJECT_HANDLE(XrefChain);
61  DECLARE_OBJECT_HANDLE(XrefChainIterator);
62 
63  DECLARE_OBJECT_HANDLE(FilterBase);
64  DECLARE_OBJECT_HANDLE(FlateDecodeFilter);
65  DECLARE_OBJECT_HANDLE(DCTDecodeFilter);
66  DECLARE_OBJECT_HANDLE(ASCII85DecodeFilter);
67  DECLARE_OBJECT_HANDLE(ASCIIHexDecodeFilter);
68 
69  #pragma endregion
70 
71  #pragma region Contents
72 
73  /* Content instructions */
74  DECLARE_OBJECT_HANDLE(ContentInstruction);
75  DECLARE_OBJECT_HANDLE(ContentObject);
76  DECLARE_OBJECT_HANDLE(ContentOperation);
77 
78  /* Content operations */
79  DECLARE_OBJECT_HANDLE(ContentOperationGeneric);
80  DECLARE_OBJECT_HANDLE(ContentOperationTextFont);
81  DECLARE_OBJECT_HANDLE(ContentOperationTextShow);
82  DECLARE_OBJECT_HANDLE(ContentOperationTextShowArray);
83  DECLARE_OBJECT_HANDLE(ContentOperationBeginText);
84  DECLARE_OBJECT_HANDLE(ContentOperationEndText);
85 
86  /* Content operators */
87  DECLARE_OBJECT_HANDLE(ContentOperator);
88  DECLARE_OBJECT_HANDLE(ContentOperatorUnknown);
89 
90  /* Content objects */
91  DECLARE_OBJECT_HANDLE(ContentObjectText);
92  DECLARE_OBJECT_HANDLE(ContentObjectInlineImage);
93 
94  #pragma endregion
95 
96  #pragma region Utils
97 
98  DECLARE_OBJECT_HANDLE(Buffer);
99  DECLARE_OBJECT_HANDLE(BufferArray);
100  DECLARE_OBJECT_HANDLE(IUnknown);
101 
102  DECLARE_OBJECT_HANDLE(SigningKey);
103  DECLARE_OBJECT_HANDLE(EncryptionKey);
104  DECLARE_OBJECT_HANDLE(PKCS12Key);
105 
106  DECLARE_OBJECT_HANDLE(InputStream);
107  DECLARE_OBJECT_HANDLE(OutputStream);
108  DECLARE_OBJECT_HANDLE(InputOutputStream);
109 
110  #pragma endregion
111 
112  #pragma endregion
113 
114  #pragma region Documents
115 
116  DECLARE_OBJECT_HANDLE(Document);
117 
118  DECLARE_OBJECT_HANDLE(Catalog);
119 
120  DECLARE_OBJECT_HANDLE(DocumentInfo);
121 
122  DECLARE_OBJECT_HANDLE(PageTree);
123  DECLARE_OBJECT_HANDLE(PageObject);
124 
125  DECLARE_OBJECT_HANDLE(DeveloperExtensions);
126  DECLARE_OBJECT_HANDLE(DeveloperExtensionsIterator);
127  DECLARE_OBJECT_HANDLE(DeveloperExtension);
128 
129  DECLARE_OBJECT_HANDLE(PageLabels);
130  DECLARE_OBJECT_HANDLE(PageLabel);
131 
132  DECLARE_OBJECT_HANDLE(ViewerPreferences);
133  DECLARE_OBJECT_HANDLE(PageRange);
134  DECLARE_OBJECT_HANDLE(PageSubRange);
135 
136  DECLARE_OBJECT_HANDLE(OutlineBase);
137  DECLARE_OBJECT_HANDLE(Outline);
138  DECLARE_OBJECT_HANDLE(OutlineItem);
139  DECLARE_OBJECT_HANDLE(OutlineItemColor);
140  DECLARE_OBJECT_HANDLE(OutlineItemFlags);
141 
142  DECLARE_OBJECT_HANDLE(ResourceDictionary);
143 
144  DECLARE_OBJECT_HANDLE(NamedDestinations);
145  DECLARE_OBJECT_HANDLE(Destination);
146 
147  DECLARE_OBJECT_HANDLE(PageAnnotations);
148  DECLARE_OBJECT_HANDLE(Annotation);
149  DECLARE_OBJECT_HANDLE(LinkAnnotation);
150 
151  DECLARE_OBJECT_HANDLE(InteractiveForm);
152 
153  DECLARE_OBJECT_HANDLE(DigitalSignature);
154  DECLARE_OBJECT_HANDLE(ByteRangeCollection);
155  DECLARE_OBJECT_HANDLE(ByteRange);
156 
157  DECLARE_OBJECT_HANDLE(Field);
158  DECLARE_OBJECT_HANDLE(FieldCollection);
159  DECLARE_OBJECT_HANDLE(ButtonField);
160  DECLARE_OBJECT_HANDLE(TextField);
161  DECLARE_OBJECT_HANDLE(ChoiceField);
162  DECLARE_OBJECT_HANDLE(SignatureField);
163 
164  DECLARE_OBJECT_HANDLE(DocumentSigner);
165  DECLARE_OBJECT_HANDLE(DocumentSignatureSettings);
166 
167  /* Fonts */
168 
169  DECLARE_OBJECT_HANDLE(Font);
170  DECLARE_OBJECT_HANDLE(CompositeFont);
171  DECLARE_OBJECT_HANDLE(FontMap);
172  DECLARE_OBJECT_HANDLE(CharacterMap);
173  DECLARE_OBJECT_HANDLE(EmbeddedCharacterMap);
174  DECLARE_OBJECT_HANDLE(UnicodeCharacterMap);
175 
176  /* Common data structures */
177 
178  DECLARE_OBJECT_HANDLE(Date);
179  DECLARE_OBJECT_HANDLE(Rectangle);
180 
181  /* Contents */
182 
183  DECLARE_OBJECT_HANDLE(Contents);
184 
185  #pragma endregion
186 
189 #ifdef __cplusplus
190 };
191 #endif
192 
193 #endif /* _C_HANDLES_H */