1Attribute VB_Name = "Module3"
2''/*
3' * << Haru Free PDF Library 2.0.3 >> -- hpdf_types.h
4' *
5' * URL http://libharu.org/
6' *
7' * Copyright (c) 1999-2006 Takeshi Kanno
8' *
9' * Permission to use copy modify distribute and sell this software
10' * and its documentation for any purpose is hereby granted without fee
11' * provided that the above copyright notice appear in all copies and
12' * that both that copyright notice and this permission notice appear
13' * in supporting documentation.
14' * It is provided "as is" without express or implied warranty.
15' *
16' */
17
18
19''/*----------------------------------------------------------------------------*/
20''/*----- type definition ------------------------------------------------------*/
21
22
23'/*  native OS integer types */
24'typedef  signed int          HPDF_INT
25'typedef  unsigned int        HPDF_UNIT
26
27
28'/*  32bit integer types
29' */
30'typedef  signed int          HPDF_INT32
31'typedef  unsigned int        HPDF_UNIT32
32
33
34'/*  16bit integer types
35' */
36'typedef  signed short        HPDF_INT16
37'typedef  unsigned short      HPDF_UNIT16
38
39
40'/*  8bit integer types
41' */
42'typedef  signed char         HPDF_INT8
43'typedef  unsigned char       HPDF_UNIT8
44
45
46'/*  8bit binary types
47' */
48'typedef  unsigned char       HPDF_BYTE
49
50
51'/*  float type (32bit IEEE754)
52' */
53'typedef  float               HPDF_REAL
54
55
56'/*  double type (64bit IEEE754)
57' */
58'typedef  double              HPDF_DOUBLE
59
60
61'/*  boolean type (0: False !0: True)
62' */
63'typedef  signed int          HPDF_BOOL
64
65
66'/*  error-no type (32bit unsigned integer)
67' */
68'typedef  unsigned long       HPDF_STATUS
69
70
71'/*  charactor-code type (16bit)
72' */
73'typedef  long16         HPDF_CID
74'typedef  long16         HPDF_UNICODE
75
76
77'/*  HPDF_Point struct
78' */
79Public Type HPDF_Point
80    x As Single
81    y As Single
82End Type
83
84Public Type HPDF_Rect
85    Left        As Single
86    bottom      As Single
87    Right       As Single
88    top         As Single
89End Type
90
91Public Type HPDF_Box
92    Left        As Single
93    bottom      As Single
94    Right       As Single
95    top         As Single
96End Type
97
98'/* HPDF_Date struct
99' */
100Public Type HPDF_Date
101    Year        As Long
102    Month       As Long
103    Day         As Long
104    Hour        As Long
105    minutes     As Long
106    seconds     As Long
107    ind         As Byte
108    off_hour    As Long
109    off_minutes As Long
110End Type
111
112
113Public Enum HPDF_InfoType
114    '/* date-time type parameters */
115    HPDF_INFO_CREATION_DATE = 0
116    HPDF_INFO_MOD_DATE = 1
117
118    '/* string type parameters */
119    HPDF_INFO_AUTHOR = 2
120    HPDF_INFO_CREATOR = 3
121    HPDF_INFO_PRODUCER = 4
122    HPDF_INFO_TITLE = 5
123    HPDF_INFO_SUBJECT = 6
124    HPDF_INFO_KEYWORDS = 7
125    HPDF_INFO_EOF = 8
126End Enum
127
128
129Public Enum HPDF_EncryptMode
130    HPDF_ENCRYPT_R2 = 2
131    HPDF_ENCRYPT_R3 = 3
132End Enum
133
134
135#If 0 Then
136typedef void
137(HPDF_STDCALL *HPDF_Error_Handler)  (long   error_no
138                                     long   detail_no
139                                     void         *user_data)
140
141typedef void*
142(HPDF_STDCALL *HPDF_Alloc_Func)  (long  size)
143
144
145typedef void
146(HPDF_STDCALL *HPDF_Free_Func)  (void  *aptr)
147#End If
148
149'/*---------------------------------------------------------------------------*/
150'/*------ text width struct --------------------------------------------------*/
151Public Type HPDF_TextWidth
152    numchars    As Long
153    '/* don't use this value (it may be change in the feature).
154    '   use numspace as alternated. */
155    numwords    As Long
156    Width       As Long
157    numspace    As Long
158End Type
159
160
161'/*---------------------------------------------------------------------------*/
162'/*------ dash mode ----------------------------------------------------------*/
163Public Type HPDF_DashMode
164    ptn(8)      As Integer
165    num_ptn     As Long
166    phase       As Long
167End Type
168
169
170'/*---------------------------------------------------------------------------*/
171'/*----- HPDF_TransMatrix struct ---------------------------------------------*/
172Public Type HPDF_TransMatrix
173     a          As Single
174     b          As Single
175     c          As Single
176     d          As Single
177     x          As Single
178     y          As Single
179End Type
180
181
182'/*---------------------------------------------------------------------------*/
183Public Enum HPDF_ColorSpace
184    HPDF_CS_DEVICE_GRAY = 0
185    HPDF_CS_DEVICE_RGB = 1
186    HPDF_CS_DEVICE_CMYK = 2
187    HPDF_CS_CAL_GRAY = 3
188    HPDF_CS_CAL_RGB = 4
189    HPDF_CS_LAB = 5
190    HPDF_CS_ICC_BASED = 6
191    HPDF_CS_SEPARATION = 7
192    HPDF_CS_DEVICE_N = 8
193    HPDF_CS_INDEXED = 9
194    HPDF_CS_PATTERN = 10
195    HPDF_CS_EOF = 11
196End Enum
197
198'/*---------------------------------------------------------------------------*/
199'/*----- HPDF_RGBColor struct ------------------------------------------------*/
200Public Type HPDF_RGBColor
201       r        As Single
202       g        As Single
203       b        As Single
204End Type
205
206'/*---------------------------------------------------------------------------*/
207'/*----- HPDF_CMYKColor struct -----------------------------------------------*/
208Public Type HPDF_CMYKColor
209       c      As Single
210       m      As Single
211       y      As Single
212       k      As Single
213End Type
214
215'/*---------------------------------------------------------------------------*/
216'/*------ The line cap style -------------------------------------------------*/
217Public Enum HPDF_LineCap
218    HPDF_BUTT_END = 0
219    HPDF_ROUND_END = 1
220    HPDF_PROJECTING_SCUARE_END = 2
221    HPDF_LINECAP_EOF = 3
222End Enum
223
224'/*----------------------------------------------------------------------------*/
225'/*------ The line join style -------------------------------------------------*/
226Public Enum HPDF_LineJoin
227    HPDF_MITER_JOIN = 0
228    HPDF_ROUND_JOIN = 1
229    HPDF_BEVEL_JOIN = 2
230    HPDF_LINEJOIN_EOF = 3
231End Enum
232
233'/*----------------------------------------------------------------------------*/
234'/*------ The text rendering mode ---------------------------------------------*/
235Public Enum HPDF_TextRenderingMode
236    HPDF_FILL = 0
237    HPDF_STROKE = 1
238    HPDF_FILL_THEN_STROKE = 2
239    HPDF_INVISIBLE = 3
240    HPDF_FILL_CLIPPING = 4
241    HPDF_STROKE_CLIPPING = 5
242    HPDF_FILL_STROKE_CLIPPING = 6
243    HPDF_CLIPPING = 7
244    HPDF_RENDERING_MODE_EOF = 8
245End Enum
246
247
248Public Enum HPDF_WritingMode
249    HPDF_WMODE_HORIZONTAL = 0
250    HPDF_WMODE_VERTICAL = 1
251    HPDF_WMODE_EOF = 2
252End Enum
253
254
255Public Enum HPDF_PageLayout
256    HPDF_PAGE_LAYOUT_SINGLE = 0
257    HPDF_PAGE_LAYOUT_ONE_COLUMN = 1
258    HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT = 2
259    HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT = 3
260    HPDF_PAGE_LAYOUT_EOF = 4
261End Enum
262
263
264Public Enum HPDF_PageMode
265    HPDF_PAGE_MODE_USE_NONE = 0
266    HPDF_PAGE_MODE_USE_OUTLINE = 1
267    HPDF_PAGE_MODE_USE_THUMBS = 2
268    HPDF_PAGE_MODE_FULL_SCREEN = 3
269'/*  HPDF_PAGE_MODE_USE_OC              =4
270    HPDF_PAGE_MODE_USE_ATTACHMENTS = 4
271' */
272    HPDF_PAGE_MODE_EOF
273End Enum
274
275
276Public Enum HPDF_PageNumStyle
277    HPDF_PAGE_NUM_STYLE_DECIMAL = 0
278    HPDF_PAGE_NUM_STYLE_UPPER_ROMAN = 1
279    HPDF_PAGE_NUM_STYLE_LOWER_ROMAN = 2
280    HPDF_PAGE_NUM_STYLE_UPPER_LETTERS = 3
281    HPDF_PAGE_NUM_STYLE_LOWER_LETTERS = 4
282    HPDF_PAGE_NUM_STYLE_EOF = 5
283End Enum
284
285
286Public Enum HPDF_DestinationType
287    HPDF_XYZ = 0
288    HPDF_FIT = 1
289    HPDF_FIT_H = 2
290    HPDF_FIT_V = 3
291    HPDF_FIT_R = 4
292    HPDF_FIT_B = 5
293    HPDF_FIT_BH = 6
294    HPDF_FIT_BV = 7
295    HPDF_DST_EOF = 8
296End Enum
297
298
299Public Enum HPDF_AnnotType
300    HPDF_ANNOT_TEXT_NOTES = 1
301    HPDF_ANNOT_LINK = 2
302    HPDF_ANNOT_SOUND = 3
303    HPDF_ANNOT_FREE_TEXT = 4
304    HPDF_ANNOT_STAMP = 5
305    HPDF_ANNOT_SQUARE = 6
306    HPDF_ANNOT_CIRCLE = 7
307    HPDF_ANNOT_STRIKE_OUT = 8
308    HPDF_ANNOT_HIGHTLIGHT = 9
309    HPDF_ANNOT_UNDERLINE = 10
310    HPDF_ANNOT_INK = 11
311    HPDF_ANNOT_FILE_ATTACHMENT = 12
312    HPDF_ANNOT_POPUP = 13
313End Enum
314
315
316Public Enum HPDF_AnnotFlgs
317    HPDF_ANNOT_INVISIBLE = 1
318    HPDF_ANNOT_HIDDEN = 2
319    HPDF_ANNOT_PRINT = 3
320    HPDF_ANNOT_NOZOOM = 4
321    HPDF_ANNOT_NOROTATE = 5
322    HPDF_ANNOT_NOVIEW = 6
323    HPDF_ANNOT_READONLY = 7
324End Enum
325
326
327Public Enum HPDF_AnnotHighlightMode
328    HPDF_ANNOT_NO_HIGHTLIGHT = 0
329    HPDF_ANNOT_INVERT_BOX = 1
330    HPDF_ANNOT_INVERT_BORDER = 2
331    HPDF_ANNOT_DOWN_APPEARANCE = 3
332    HPDF_ANNOT_HIGHTLIGHT_MODE_EOF = 4
333End Enum
334
335
336Public Enum HPDF_AnnotIcon
337    HPDF_ANNOT_ICON_COMMENT = 0
338    HPDF_ANNOT_ICON_KEY = 1
339    HPDF_ANNOT_ICON_NOTE = 2
340    HPDF_ANNOT_ICON_HELP = 3
341    HPDF_ANNOT_ICON_NEW_PARAGRAPH = 4
342    HPDF_ANNOT_ICON_PARAGRAPH = 5
343    HPDF_ANNOT_ICON_INSERT = 6
344    HPDF_ANNOT_ICON_EOF = 7
345End Enum
346
347
348
349'/*----------------------------------------------------------------------------*/
350'/*------ border stype --------------------------------------------------------*/
351Public Enum HPDF_BSSubtype
352    HPDF_BS_SOLID = 1
353    HPDF_BS_DASHED = 2
354    HPDF_BS_BEVELED = 3
355    HPDF_BS_INSET = 4
356    HPDF_BS_UNDERLINED = 5
357End Enum
358
359
360Public Enum HPDF_PageSizes
361    HPDF_PAGE_SIZE_LETTER = 0
362    HPDF_PAGE_SIZE_LEGAL = 1
363    HPDF_PAGE_SIZE_A3 = 2
364    HPDF_PAGE_SIZE_A4 = 3
365    HPDF_PAGE_SIZE_A5 = 4
366    HPDF_PAGE_SIZE_B4 = 5
367    HPDF_PAGE_SIZE_B5 = 6
368    HPDF_PAGE_SIZE_EXECUTIVE = 7
369    HPDF_PAGE_SIZE_US4x6 = 8
370    HPDF_PAGE_SIZE_US4x8 = 9
371    HPDF_PAGE_SIZE_US5x7 = 10
372    HPDF_PAGE_SIZE_COMM10 = 11
373    HPDF_PAGE_SIZE_EOF = 12
374End Enum
375
376
377Public Enum HPDF_PageDirection
378    HPDF_PAGE_PORTRAIT = 0
379    HPDF_PAGE_LANDSCAPE = 1
380End Enum
381
382
383Public Enum HPDF_EncoderType
384    HPDF_ENCODER_TYPE_SINGLE_BYTE = 1
385    HPDF_ENCODER_TYPE_DOUBLE_BYTE = 2
386    HPDF_ENCODER_TYPE_UNINITIALIZED = 3
387    HPDF_ENCODER_UNKNOWN = 4
388End Enum
389
390
391Public Enum HPDF_ByteType
392    HPDF_BYTE_TYPE_SINGLE = 0
393    HPDF_BYTE_TYPE_LEAD = 1
394    HPDF_BYTE_TYPE_TRIAL = 2
395    HPDF_BYTE_TYPE_UNKNOWN = 3
396End Enum
397
398
399Public Enum HPDF_TextAlignment
400    HPDF_TALIGN_LEFT = 0
401    HPDF_TALIGN_RIGHT = 1
402    HPDF_TALIGN_CENTER = 2
403    HPDF_TALIGN_JUSTIFY = 3
404End Enum
405