OSDN Git Service

binding with libharu.
[putex/putex.git] / src / texsourc / lib / libhpdf / if / delphi / hpdf_types.pas
1 {*
2  * << Haru Free PDF Library 2.0.6 >> -- hpdf_types.pas
3  *
4  * Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
5  *
6  * Permission to use, copy, modify, distribute and sell this software
7  * and its documentation for any purpose is hereby granted without fee,
8  * provided that the above copyright notice appear in all copies and
9  * that both that copyright notice and this permission notice appear
10  * in supporting documentation.
11  * It is provided "as is" without express or implied warranty.
12  *
13  *}
14
15 unit hpdf_types;
16
17 interface
18
19 uses
20   SysUtils;
21
22 type
23
24 {*----------------------------------------------------------------------------*}
25 {*----- type definition ------------------------------------------------------*}
26
27
28 {*  native OS integer types *}
29   HPDF_INT = Integer;
30   HPDF_UINT = Cardinal;
31   HPDF_PUINT = ^Cardinal;
32
33 {*  32bit integer types
34  *}
35   HPDF_INT32 = Longint;
36   HPDF_UINT32 = Longword;
37   HPDF_PUINT32 = ^Longword;
38
39
40 {*  16bit integer types
41  *}
42   HPDF_INT16 = SmallInt;
43   HPDF_UINT16 = Word;
44   HPDF_PUINT16 = ^Word;
45
46
47
48 {*  8bit integer types
49  *}
50   HPDF_INT8 = Shortint;
51   HPDF_UINT8 = Byte;
52
53
54 {*  8bit charactor types
55  *}
56   HPDF_CHAR = char;
57
58
59 {*  8bit binary types
60  *}
61   HPDF_BYTE = Byte;
62   HPDF_PBYTE = ^Byte;
63
64
65 {*  float type (32bit IEEE754)
66  *}
67   HPDF_REAL = Single;
68   HPDF_PREAL = ^HPDF_REAL;
69
70
71 {*  double type (64bit IEEE754)
72  *}
73   HPDF_DOUBLE = Double;
74
75
76 {*  boolean type (0: False, 1: True)
77  *}
78   HPDF_BOOL = Integer;
79
80
81 {*  error-no type (32bit unsigned integer)
82  *}
83   HPDF_STATUS = Cardinal;
84
85
86 {*  charactor-code type (16bit)
87  *}
88   HPDF_CID = Word;
89   HPDF_UNICODE = Word;
90
91 {*  null terminated character *}
92   HPDF_PCHAR = PChar;
93
94
95 {*  HPDF_Box struct
96  *}
97   THPDF_Box = packed record
98     left: HPDF_REAL;
99     bottom: HPDF_REAL;
100     right: HPDF_REAL;
101     top: HPDF_REAL;
102   end;
103
104
105 {*  HPDF_Point struct
106  *}
107   THPDF_Point = packed record
108     x: HPDF_REAL;
109     y: HPDF_REAL;
110   end;
111   PHPDF_Point = ^THPDF_Point;
112
113
114 {*  HPDF_Rect struct
115  *}
116   THPDF_Rect = packed record
117     left: HPDF_REAL;
118     bottom: HPDF_REAL;
119     right: HPDF_REAL;
120     top: HPDF_REAL;
121   end;
122
123
124 {* HPDF_Date struct
125  *}
126   THPDF_Date = packed record
127     year: HPDF_INT;
128     month: HPDF_INT;
129     day: HPDF_INT;
130     hour: HPDF_INT;
131     minutes: HPDF_INT;
132     seconds: HPDF_INT;
133     ind: HPDF_CHAR;
134     off_hour: HPDF_INT;
135     off_minutes: HPDF_INT;
136   end;
137
138
139   THPDF_InfoType = (
140     HPDF_INFO_CREATION_DATE,
141     HPDF_INFO_MOD_DATE,
142     HPDF_INFO_AUTHOR,
143     HPDF_INFO_CREATOR,
144     HPDF_INFO_PRODUCER,
145     HPDF_INFO_TITLE,
146     HPDF_INFO_SUBJECT,
147     HPDF_INFO_KEYWORDS,
148     HPDF_INFO_EOF
149   );
150
151
152   THPDF_EncryptMode = (
153     HPDF_ENCRYPT_R2,
154     HPDF_ENCRYPT_R3
155   );
156
157
158
159
160 {*---------------------------------------------------------------------------*}
161 {*------ text width struct --------------------------------------------------*}
162
163   THPDF_TextWidth = packed record
164     numchars: HPDF_UINT;
165     numwords: HPDF_UINT;   {* don't use this value. *}
166     width: HPDF_UINT;
167     numspace: HPDF_UINT;
168   end;
169
170
171 {*---------------------------------------------------------------------------*}
172 {*------ dash mode ----------------------------------------------------------*}
173
174   THPDF_DashMode = packed record
175     ptn: array[0..7] of HPDF_UINT16;
176     num_ptn: HPDF_UINT16;
177     phase: HPDF_UINT16;
178   end;
179
180
181 {*---------------------------------------------------------------------------*}
182 {*----- HPDF_TransMatrix struct ---------------------------------------------*}
183
184   THPDF_TransMatrix = packed record
185     a: HPDF_REAL;
186     b: HPDF_REAL;
187     c: HPDF_REAL;
188     d: HPDF_REAL;
189     x: HPDF_REAL;
190     y: HPDF_REAL;
191   end;
192
193
194 {*---------------------------------------------------------------------------*}
195
196   THPDF_ColorSpace = (
197     HPDF_CS_DEVICE_GRAY,
198     HPDF_CS_DEVICE_RGB,
199     HPDF_CS_DEVICE_CMYK,
200     HPDF_CS_CAL_GRAY,
201     HPDF_CS_CAL_RGB,
202     HPDF_CS_LAB,
203     HPDF_CS_ICC_BASED,
204     HPDF_CS_SEPARATION,
205     HPDF_CS_DEVICE_N,
206     HPDF_CS_INDEXED,
207     HPDF_CS_PATTERN,
208     HPDF_CS_EOF
209   );
210
211 {*---------------------------------------------------------------------------*}
212 {*----- HPDF_RGBColor struct ------------------------------------------------*}
213
214   THPDF_RGBColor = packed record
215     r: HPDF_REAL;
216     g: HPDF_REAL;
217     b: HPDF_REAL;
218   end;
219
220 {*---------------------------------------------------------------------------*}
221 {*----- HPDF_CMYKColor struct -----------------------------------------------*}
222
223   THPDF_CMYKColor = packed record
224     c: HPDF_REAL;
225     m: HPDF_REAL;
226     y: HPDF_REAL;
227     k: HPDF_REAL;
228   end;
229
230 {*---------------------------------------------------------------------------*}
231 {*------ The line cap style -------------------------------------------------*}
232
233   THPDF_LineCap = (
234     HPDF_BUTT_END,
235     HPDF_ROUND_END,
236     HPDF_PROJECTING_SCUARE_END
237   );
238
239 {*----------------------------------------------------------------------------*}
240 {*------ The line join style -------------------------------------------------*}
241
242   THPDF_LineJoin = (
243     HPDF_MITER_JOIN,
244     HPDF_ROUND_JOIN,
245     HPDF_BEVEL_JOIN
246   );
247
248 {*----------------------------------------------------------------------------*}
249 {*------ The text rendering mode ---------------------------------------------*}
250
251   THPDF_TextRenderingMode = (
252     HPDF_FILL,
253     HPDF_STROKE,
254     HPDF_FILL_THEN_STROKE,
255     HPDF_INVISIBLE,
256     HPDF_FILL_CLIPPING,
257     HPDF_STROKE_CLIPPING,
258     HPDF_FILL_STROKE_CLIPPING,
259     HPDF_CLIPPING,
260     HPDF_RENDERING_MODE_EOF
261   );
262
263
264   THPDF_WritingMode = (
265     HPDF_WMODE_HORIZONTAL,
266     HPDF_WMODE_VERTICAL
267   );
268
269
270   THPDF_PageLayout = (
271     HPDF_PAGE_LAYOUT_SINGLE,
272     HPDF_PAGE_LAYOUT_ONE_COLUMN,
273     HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT,
274     HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT
275   );
276
277
278   THPDF_PageMode = (
279     HPDF_PAGE_MODE_USE_NONE,
280     HPDF_PAGE_MODE_USE_OUTLINE,
281     HPDF_PAGE_MODE_USE_THUMBS,
282     HPDF_PAGE_MODE_FULL_SCREEN
283 {*  HPDF_PAGE_MODE_USE_OC,
284     HPDF_PAGE_MODE_USE_ATTACHMENTS
285  *}
286   );
287
288
289   THPDF_PageNumStyle = (
290     HPDF_PAGE_NUM_STYLE_DECIMAL,
291     HPDF_PAGE_NUM_STYLE_UPPER_ROMAN,
292     HPDF_PAGE_NUM_STYLE_LOWER_ROMAN,
293     HPDF_PAGE_NUM_STYLE_UPPER_LETTERS,
294     HPDF_PAGE_NUM_STYLE_LOWER_LETTERS
295   );
296
297
298   THPDF_DestinationType = (
299     HPDF_XYZ,
300     HPDF_FIT,
301     HPDF_FIT_H,
302     HPDF_FIT_V,
303     HPDF_FIT_R,
304     HPDF_FIT_B,
305     HPDF_FIT_BH,
306     HPDF_FIT_BV,
307     HPDF_DST_EOF
308   );
309
310
311   THPDF_AnnotType = (
312     HPDF_ANNOT_TEXT_NOTES,
313     HPDF_ANNOT_LINK,
314     HPDF_ANNOT_SOUND,
315     HPDF_ANNOT_FREE_TEXT,
316     HPDF_ANNOT_STAMP,
317     HPDF_ANNOT_SQUARE,
318     HPDF_ANNOT_CIRCLE,
319     HPDF_ANNOT_STRIKE_OUT,
320     HPDF_ANNOT_HIGHTLIGHT,
321     HPDF_ANNOT_UNDERLINE,
322     HPDF_ANNOT_INK,
323     HPDF_ANNOT_FILE_ATTACHMENT,
324     HPDF_ANNOT_POPUP
325   );
326
327
328   THPDF_AnnotFlgs = (
329     HPDF_ANNOT_INVISIBLE,
330     HPDF_ANNOT_HIDDEN,
331     HPDF_ANNOT_PRINT,
332     HPDF_ANNOT_NOZOOM,
333     HPDF_ANNOT_NOROTATE,
334     HPDF_ANNOT_NOVIEW,
335     HPDF_ANNOT_READONLY
336   );
337
338
339   THPDF_AnnotHighlightMode = (
340     HPDF_ANNOT_NO_HIGHTLIGHT,
341     HPDF_ANNOT_INVERT_BOX,
342     HPDF_ANNOT_INVERT_BORDER,
343     HPDF_ANNOT_DOWN_APPEARANCE
344   );
345
346
347   THPDF_AnnotIcon = (
348     HPDF_ANNOT_ICON_COMMENT,
349     HPDF_ANNOT_ICON_KEY,
350     HPDF_ANNOT_ICON_NOTE,
351     HPDF_ANNOT_ICON_HELP,
352     HPDF_ANNOT_ICON_NEW_PARAGRAPH,
353     HPDF_ANNOT_ICON_PARAGRAPH,
354     HPDF_ANNOT_ICON_INSERT
355   );
356
357
358 {*----------------------------------------------------------------------------*}
359 {*------ border stype --------------------------------------------------------*}
360
361   THPDF_BSSubtype = (
362     HPDF_BS_SOLID,
363     HPDF_BS_DASHED,
364     HPDF_BS_BEVELED,
365     HPDF_BS_INSET,
366     HPDF_BS_UNDERLINED
367   );
368
369
370   THPDF_PageSizes = (
371     HPDF_PAGE_SIZE_LETTER,
372     HPDF_PAGE_SIZE_LEGAL,
373     HPDF_PAGE_SIZE_A3,
374     HPDF_PAGE_SIZE_A4,
375     HPDF_PAGE_SIZE_A5,
376     HPDF_PAGE_SIZE_B5,
377     HPDF_PAGE_SIZE_EXECUTIVE,
378     HPDF_PAGE_SIZE_US4x6,
379     HPDF_PAGE_SIZE_US4x8,
380     HPDF_PAGE_SIZE_US5x7,
381     HPDF_PAGE_SIZE_COMM10
382   );
383
384
385   THPDF_PageDirection = (
386     HPDF_PAGE_PORTRAIT,
387     HPDF_PAGE_LANDSCAPE
388   );
389
390
391   THPDF_EncoderType = (
392     HPDF_ENCODER_TYPE_SINGLE_BYTE,
393     HPDF_ENCODER_TYPE_DOUBLE_BYTE,
394     HPDF_ENCODER_TYPE_UNINITIALIZED,
395     HPDF_ENCODER_UNKNOWN
396   );
397
398
399   THPDF_ByteType = (
400     HPDF_BYTE_TYPE_SINGLE,
401     HPDF_BYTE_TYPE_LEAD,
402     HPDF_BYTE_TYPE_TRIAL,
403     HPDF_BYTE_TYPE_UNKNOWN
404   );
405
406
407   THPDF_TextAlignment = (
408     HPDF_TALIGN_LEFT,
409     HPDF_TALIGN_RIGHT,
410     HPDF_TALIGN_CENTER,
411     HPDF_TALIGN_JUSTIFY
412   );
413
414
415   THPDF_BlendMode = (
416     HPDF_BM_NORMAL,
417     HPDF_BM_MULTIPLY,
418     HPDF_BM_SCREEN,
419     HPDF_BM_OVERLAY,
420     HPDF_BM_DARKEN,
421     HPDF_BM_LIGHTEN,
422     HPDF_BM_COLOR_DODGE,
423     HPDF_BM_COLOR_BUM,
424     HPDF_BM_HARD_LIGHT,
425     HPDF_BM_SOFT_LIGHT,
426     HPDF_BM_DIFFERENCE,
427     HPDF_BM_EXCLUSHON,
428     HPDF_BM_EOF
429   );
430
431
432   THPDF_TransitionStyle = (
433     HPDF_TS_WIPE_RIGHT,
434     HPDF_TS_WIPE_UP,
435     HPDF_TS_WIPE_LEFT,
436     HPDF_TS_WIPE_DOWN,
437     HPDF_TS_BARN_DOORS_HORIZONTAL_OUT,
438     HPDF_TS_BARN_DOORS_HORIZONTAL_IN,
439     HPDF_TS_BARN_DOORS_VERTICAL_OUT,
440     HPDF_TS_BARN_DOORS_VERTICAL_IN,
441     HPDF_TS_BOX_OUT,
442     HPDF_TS_BOX_IN,
443     HPDF_TS_BLINDS_HORIZONTAL,
444     HPDF_TS_BLINDS_VERTICAL,
445     HPDF_TS_DISSOLVE,
446     HPDF_TS_GLITTER_RIGHT,
447     HPDF_TS_GLITTER_DOWN,
448     HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT,
449     HPDF_TS_REPLACE,
450     HPDF_TS_EOF
451   );
452
453
454 THPDF_ErrorFunc = procedure (error_no: HPDF_STATUS; detail_no: HPDF_STATUS;
455                 user_data: Pointer); stdcall;
456
457 THPDF_AllocFunc = procedure (size: Cardinal); stdcall;
458
459 THPDF_FreeFunc = procedure (aptr: Pointer); stdcall;
460
461 implementation
462
463 end.