1 /*
2  * << Haru Free PDF Library 2.0.8 >> -- hpdf.h
3  *
4  * URL http://libharu.org/
5  *
6  * Copyright (c) 1999-2006 Takeshi Kanno
7  *
8  * Permission to use, copy, modify, distribute and sell this software
9  * and its documentation for any purpose is hereby granted without fee,
10  * provided that the above copyright notice appear in all copies and
11  * that both that copyright notice and this permission notice appear
12  * in supporting documentation.
13  * It is provided "as is" without express or implied warranty.
14  *
15  */
16 
17 #ifndef _HPDF_H
18 #define _HPDF_H
19 
20 #include "vtk_haru_mangle.h"
21 
22 #include "hpdf_config.h"
23 #include "hpdf_version.h"
24 
25 #define HPDF_UNUSED(a) ((void)(a))
26 
27 #ifdef HPDF_DLL_MAKE
28 #    define HPDF_EXPORT(A)  __declspec(dllexport) A  __stdcall
29 #else
30 #    ifdef HPDF_DLL_MAKE_CDECL
31 #        define HPDF_EXPORT(A)  __declspec(dllexport) A
32 #    else
33 #        ifdef HPDF_SHARED_MAKE
34 #            define HPDF_EXPORT(A)  extern A
35 #        endif /* HPDF_SHARED_MAKE */
36 #    endif /* HPDF_DLL_MAKE_CDECL */
37 #endif /* HPDF_DLL_MAKE */
38 
39 #ifdef HPDF_DLL
40 #    define HPDF_SHARED
41 #    define HPDF_EXPORT(A)  __declspec(dllimport) A  __stdcall
42 #else
43 #    ifdef HPDF_DLL_CDECL
44 #        define HPDF_SHARED
45 #        define HPDF_EXPORT(A)  __declspec(dllimport) A
46 #    endif /* HPDF_DLL_CDECL */
47 #endif /* HPDF_DLL */
48 
49 #ifdef HPDF_SHARED
50 
51 #ifndef HPDF_EXPORT
52 #define HPDF_EXPORT(A) extern A
53 #endif /* HPDF_EXPORT */
54 
55 #include "hpdf_consts.h"
56 #include "hpdf_types.h"
57 
58 typedef void         *HPDF_HANDLE;
59 typedef HPDF_HANDLE   HPDF_Boolean;
60 typedef HPDF_HANDLE   HPDF_Doc;
61 typedef HPDF_HANDLE   HPDF_Page;
62 typedef HPDF_HANDLE   HPDF_Pages;
63 typedef HPDF_HANDLE   HPDF_Stream;
64 typedef HPDF_HANDLE   HPDF_Image;
65 typedef HPDF_HANDLE   HPDF_Font;
66 typedef HPDF_HANDLE   HPDF_Outline;
67 typedef HPDF_HANDLE   HPDF_Encoder;
68 typedef HPDF_HANDLE   HPDF_3DMeasure;
69 typedef HPDF_HANDLE   HPDF_ExData;
70 typedef HPDF_HANDLE   HPDF_Destination;
71 typedef HPDF_HANDLE   HPDF_XObject;
72 typedef HPDF_HANDLE   HPDF_Annotation;
73 typedef HPDF_HANDLE   HPDF_ExtGState;
74 typedef HPDF_HANDLE   HPDF_FontDef;
75 typedef HPDF_HANDLE   HPDF_U3D;
76 typedef HPDF_HANDLE   HPDF_JavaScript;
77 typedef HPDF_HANDLE   HPDF_Error;
78 typedef HPDF_HANDLE   HPDF_MMgr;
79 typedef HPDF_HANDLE   HPDF_Dict;
80 typedef HPDF_HANDLE   HPDF_EmbeddedFile;
81 typedef HPDF_HANDLE   HPDF_OutputIntent;
82 typedef HPDF_HANDLE   HPDF_Xref;
83 typedef HPDF_HANDLE   HPDF_Shading;
84 
85 #else
86 
87 #ifndef HPDF_EXPORT
88 #define HPDF_EXPORT(A)  A
89 #endif /* HPDF_EXPORT  */
90 
91 #include "hpdf_consts.h"
92 #include "hpdf_doc.h"
93 #include "hpdf_error.h"
94 #include "hpdf_pdfa.h"
95 
96 #endif /* HPDF_SHARED */
97 
98 #ifdef __cplusplus
99 extern "C" {
100 #endif
101 
102 HPDF_EXPORT(const char *)
103 HPDF_GetVersion  (void);
104 
105 
106 HPDF_EXPORT(HPDF_Doc)
107 HPDF_NewEx  (HPDF_Error_Handler   user_error_fn,
108              HPDF_Alloc_Func      user_alloc_fn,
109              HPDF_Free_Func       user_free_fn,
110              HPDF_UINT            mem_pool_buf_size,
111              void                *user_data);
112 
113 HPDF_EXPORT(HPDF_Doc)
114 HPDF_New  (HPDF_Error_Handler   user_error_fn,
115            void                *user_data);
116 
117 
118 HPDF_EXPORT(HPDF_STATUS)
119 HPDF_SetErrorHandler  (HPDF_Doc            pdf,
120                        HPDF_Error_Handler  user_error_fn);
121 
122 
123 HPDF_EXPORT(void)
124 HPDF_Free  (HPDF_Doc  pdf);
125 
126 
127 HPDF_EXPORT(HPDF_STATUS)
128 HPDF_NewDoc  (HPDF_Doc  pdf);
129 
130 
131 HPDF_EXPORT(void)
132 HPDF_FreeDoc  (HPDF_Doc  pdf);
133 
134 
135 HPDF_EXPORT(HPDF_BOOL)
136 HPDF_HasDoc  (HPDF_Doc  pdf);
137 
138 
139 HPDF_EXPORT(void)
140 HPDF_FreeDocAll  (HPDF_Doc  pdf);
141 
142 
143 HPDF_EXPORT(HPDF_STATUS)
144 HPDF_SaveToStream  (HPDF_Doc   pdf);
145 
146 HPDF_EXPORT(HPDF_STATUS)
147 HPDF_GetContents   (HPDF_Doc   pdf,
148                    HPDF_BYTE  *buf,
149                  HPDF_UINT32  *size);
150 
151 HPDF_EXPORT(HPDF_UINT32)
152 HPDF_GetStreamSize  (HPDF_Doc   pdf);
153 
154 
155 HPDF_EXPORT(HPDF_STATUS)
156 HPDF_ReadFromStream  (HPDF_Doc       pdf,
157                       HPDF_BYTE     *buf,
158                       HPDF_UINT32   *size);
159 
160 
161 HPDF_EXPORT(HPDF_STATUS)
162 HPDF_ResetStream  (HPDF_Doc     pdf);
163 
164 
165 HPDF_EXPORT(HPDF_STATUS)
166 HPDF_SaveToFile  (HPDF_Doc     pdf,
167                   const char  *file_name);
168 
169 
170 HPDF_EXPORT(HPDF_STATUS)
171 HPDF_GetError  (HPDF_Doc   pdf);
172 
173 
174 HPDF_EXPORT(HPDF_STATUS)
175 HPDF_GetErrorDetail  (HPDF_Doc   pdf);
176 
177 HPDF_EXPORT(void)
178 HPDF_ResetError  (HPDF_Doc   pdf);
179 
180 
181 HPDF_EXPORT(HPDF_STATUS)
182 HPDF_CheckError  (HPDF_Error   error);
183 
184 
185 HPDF_EXPORT(HPDF_STATUS)
186 HPDF_SetPagesConfiguration  (HPDF_Doc    pdf,
187                              HPDF_UINT   page_per_pages);
188 
189 
190 HPDF_EXPORT(HPDF_Page)
191 HPDF_GetPageByIndex  (HPDF_Doc    pdf,
192                       HPDF_UINT   index);
193 
194 
195 /*---------------------------------------------------------------------------*/
196 /*---------------------------------------------------------------------------*/
197 
198 HPDF_EXPORT(HPDF_MMgr)
199 HPDF_GetPageMMgr    (HPDF_Page  page);
200 
201 HPDF_EXPORT(HPDF_PageLayout)
202 HPDF_GetPageLayout  (HPDF_Doc   pdf);
203 
204 
205 HPDF_EXPORT(HPDF_STATUS)
206 HPDF_SetPageLayout  (HPDF_Doc          pdf,
207                      HPDF_PageLayout   layout);
208 
209 
210 HPDF_EXPORT(HPDF_PageMode)
211 HPDF_GetPageMode  (HPDF_Doc   pdf);
212 
213 
214 HPDF_EXPORT(HPDF_STATUS)
215 HPDF_SetPageMode  (HPDF_Doc        pdf,
216                    HPDF_PageMode   mode);
217 
218 
219 HPDF_EXPORT(HPDF_UINT)
220 HPDF_GetViewerPreference  (HPDF_Doc   pdf);
221 
222 
223 HPDF_EXPORT(HPDF_STATUS)
224 HPDF_SetViewerPreference  (HPDF_Doc     pdf,
225                            HPDF_UINT    value);
226 
227 
228 HPDF_EXPORT(HPDF_STATUS)
229 HPDF_SetOpenAction  (HPDF_Doc           pdf,
230                      HPDF_Destination   open_action);
231 
232 
233 /*---------------------------------------------------------------------------*/
234 /*----- page handling -------------------------------------------------------*/
235 
236 
237 HPDF_EXPORT(HPDF_Page)
238 HPDF_GetCurrentPage  (HPDF_Doc  pdf);
239 
240 
241 HPDF_EXPORT(HPDF_Page)
242 HPDF_AddPage  (HPDF_Doc   pdf);
243 
244 
245 HPDF_EXPORT(HPDF_Page)
246 HPDF_InsertPage  (HPDF_Doc    pdf,
247                   HPDF_Page   page);
248 
249 
250 HPDF_EXPORT(HPDF_STATUS)
251 HPDF_Page_SetWidth  (HPDF_Page   page,
252                      HPDF_REAL   value);
253 
254 
255 HPDF_EXPORT(HPDF_STATUS)
256 HPDF_Page_SetHeight  (HPDF_Page   page,
257                       HPDF_REAL   value);
258 
259 
260 HPDF_EXPORT(HPDF_STATUS)
261 HPDF_Page_SetSize  (HPDF_Page            page,
262                     HPDF_PageSizes       size,
263                     HPDF_PageDirection   direction);
264 
265 HPDF_EXPORT(HPDF_STATUS)
266 HPDF_Page_SetRotate  (HPDF_Page     page,
267                       HPDF_UINT16   angle);
268 
269 HPDF_EXPORT(HPDF_STATUS)
270 HPDF_Page_SetZoom  (HPDF_Page     page,
271                     HPDF_REAL     zoom);
272 
273 /*---------------------------------------------------------------------------*/
274 /*----- font handling -------------------------------------------------------*/
275 
276 
277 HPDF_EXPORT(HPDF_Font)
278 HPDF_GetFont  (HPDF_Doc     pdf,
279                const char  *font_name,
280                const char  *encoding_name);
281 
282 
283 HPDF_EXPORT(const char*)
284 HPDF_LoadType1FontFromFile  (HPDF_Doc     pdf,
285                              const char  *afm_file_name,
286                              const char  *data_file_name);
287 
288 
289 HPDF_EXPORT(HPDF_FontDef)
290 HPDF_GetTTFontDefFromFile (HPDF_Doc     pdf,
291                            const char  *file_name,
292                            HPDF_BOOL    embedding);
293 
294 HPDF_EXPORT(const char*)
295 HPDF_LoadTTFontFromFile (HPDF_Doc     pdf,
296                          const char  *file_name,
297                          HPDF_BOOL    embedding);
298 
299 
300 HPDF_EXPORT(const char*)
301 HPDF_LoadTTFontFromFile2 (HPDF_Doc     pdf,
302                           const char  *file_name,
303                           HPDF_UINT    index,
304                           HPDF_BOOL    embedding);
305 
306 
307 HPDF_EXPORT(HPDF_STATUS)
308 HPDF_AddPageLabel  (HPDF_Doc            pdf,
309                     HPDF_UINT           page_num,
310                     HPDF_PageNumStyle   style,
311                     HPDF_UINT           first_page,
312                     const char         *prefix);
313 
314 
315 HPDF_EXPORT(HPDF_STATUS)
316 HPDF_UseJPFonts   (HPDF_Doc   pdf);
317 
318 
319 HPDF_EXPORT(HPDF_STATUS)
320 HPDF_UseKRFonts   (HPDF_Doc   pdf);
321 
322 
323 HPDF_EXPORT(HPDF_STATUS)
324 HPDF_UseCNSFonts   (HPDF_Doc   pdf);
325 
326 
327 HPDF_EXPORT(HPDF_STATUS)
328 HPDF_UseCNTFonts   (HPDF_Doc   pdf);
329 
330 
331 /*--------------------------------------------------------------------------*/
332 /*----- outline ------------------------------------------------------------*/
333 
334 
335 HPDF_EXPORT(HPDF_Outline)
336 HPDF_CreateOutline  (HPDF_Doc       pdf,
337                      HPDF_Outline   parent,
338                      const char    *title,
339                      HPDF_Encoder   encoder);
340 
341 
342 HPDF_EXPORT(HPDF_STATUS)
343 HPDF_Outline_SetOpened  (HPDF_Outline  outline,
344                          HPDF_BOOL     opened);
345 
346 
347 HPDF_EXPORT(HPDF_STATUS)
348 HPDF_Outline_SetDestination (HPDF_Outline      outline,
349                              HPDF_Destination  dst);
350 
351 
352 /*--------------------------------------------------------------------------*/
353 /*----- destination --------------------------------------------------------*/
354 
355 HPDF_EXPORT(HPDF_Destination)
356 HPDF_Page_CreateDestination  (HPDF_Page   page);
357 
358 
359 HPDF_EXPORT(HPDF_STATUS)
360 HPDF_Destination_SetXYZ  (HPDF_Destination  dst,
361                           HPDF_REAL         left,
362                           HPDF_REAL         top,
363                           HPDF_REAL         zoom);
364 
365 
366 HPDF_EXPORT(HPDF_STATUS)
367 HPDF_Destination_SetFit  (HPDF_Destination  dst);
368 
369 
370 HPDF_EXPORT(HPDF_STATUS)
371 HPDF_Destination_SetFitH  (HPDF_Destination  dst,
372                            HPDF_REAL         top);
373 
374 
375 HPDF_EXPORT(HPDF_STATUS)
376 HPDF_Destination_SetFitV  (HPDF_Destination  dst,
377                            HPDF_REAL         left);
378 
379 
380 HPDF_EXPORT(HPDF_STATUS)
381 HPDF_Destination_SetFitR  (HPDF_Destination  dst,
382                            HPDF_REAL         left,
383                            HPDF_REAL         bottom,
384                            HPDF_REAL         right,
385                            HPDF_REAL         top);
386 
387 
388 HPDF_EXPORT(HPDF_STATUS)
389 HPDF_Destination_SetFitB  (HPDF_Destination  dst);
390 
391 
392 HPDF_EXPORT(HPDF_STATUS)
393 HPDF_Destination_SetFitBH  (HPDF_Destination  dst,
394                             HPDF_REAL         top);
395 
396 
397 HPDF_EXPORT(HPDF_STATUS)
398 HPDF_Destination_SetFitBV  (HPDF_Destination  dst,
399                             HPDF_REAL         left);
400 
401 /*--------------------------------------------------------------------------*/
402 /*----- encoder ------------------------------------------------------------*/
403 
404 HPDF_EXPORT(HPDF_Encoder)
405 HPDF_GetEncoder  (HPDF_Doc     pdf,
406                   const char  *encoding_name);
407 
408 
409 HPDF_EXPORT(HPDF_Encoder)
410 HPDF_GetCurrentEncoder  (HPDF_Doc   pdf);
411 
412 
413 HPDF_EXPORT(HPDF_STATUS)
414 HPDF_SetCurrentEncoder  (HPDF_Doc     pdf,
415                          const char  *encoding_name);
416 
417 
418 HPDF_EXPORT(HPDF_EncoderType)
419 HPDF_Encoder_GetType  (HPDF_Encoder   encoder);
420 
421 
422 HPDF_EXPORT(HPDF_ByteType)
423 HPDF_Encoder_GetByteType  (HPDF_Encoder    encoder,
424                            const char     *text,
425                            HPDF_UINT       index);
426 
427 
428 HPDF_EXPORT(HPDF_UNICODE)
429 HPDF_Encoder_GetUnicode  (HPDF_Encoder   encoder,
430                           HPDF_UINT16    code);
431 
432 
433 HPDF_EXPORT(HPDF_WritingMode)
434 HPDF_Encoder_GetWritingMode (HPDF_Encoder   encoder);
435 
436 
437 HPDF_EXPORT(HPDF_STATUS)
438 HPDF_UseJPEncodings   (HPDF_Doc   pdf);
439 
440 
441 
442 HPDF_EXPORT(HPDF_STATUS)
443 HPDF_UseKREncodings   (HPDF_Doc   pdf);
444 
445 
446 
447 HPDF_EXPORT(HPDF_STATUS)
448 HPDF_UseCNSEncodings   (HPDF_Doc   pdf);
449 
450 
451 
452 HPDF_EXPORT(HPDF_STATUS)
453 HPDF_UseCNTEncodings   (HPDF_Doc   pdf);
454 
455 
456 HPDF_EXPORT(HPDF_STATUS)
457 HPDF_UseUTFEncodings   (HPDF_Doc   pdf);
458 
459 
460 /*--------------------------------------------------------------------------*/
461 /*----- XObject ------------------------------------------------------------*/
462 
463 HPDF_EXPORT(HPDF_XObject)
464 HPDF_Page_CreateXObjectFromImage    (HPDF_Doc       pdf,
465                                      HPDF_Page      page,
466                                      HPDF_Rect      rect,
467                                      HPDF_Image     image,
468                                      HPDF_Boolean   zoom);
469 
470 HPDF_EXPORT(HPDF_XObject)
471 HPDF_Page_CreateXObjectAsWhiteRect  (HPDF_Doc   pdf,
472                                      HPDF_Page  page,
473                                      HPDF_Rect  rect);
474 
475 /*--------------------------------------------------------------------------*/
476 /*----- annotation ---------------------------------------------------------*/
477 
478 HPDF_EXPORT(HPDF_Annotation)
479 HPDF_Page_Create3DAnnot    (HPDF_Page       page,
480 							HPDF_Rect       rect,
481                             HPDF_BOOL       tb,
482                             HPDF_BOOL       np,
483                             HPDF_U3D        u3d,
484                             HPDF_Image      ap);
485 
486 HPDF_EXPORT(HPDF_Annotation)
487 HPDF_Page_CreateTextAnnot  (HPDF_Page       page,
488                             HPDF_Rect       rect,
489                             const char     *text,
490                             HPDF_Encoder    encoder);
491 
492 HPDF_EXPORT(HPDF_Annotation)
493 HPDF_Page_CreateFreeTextAnnot  (HPDF_Page       page,
494 								HPDF_Rect       rect,
495 								const char     *text,
496 								HPDF_Encoder    encoder);
497 
498 HPDF_EXPORT(HPDF_Annotation)
499 HPDF_Page_CreateLineAnnot  (HPDF_Page       page,
500 							const char     *text,
501 							HPDF_Encoder    encoder);
502 
503 HPDF_EXPORT(HPDF_Annotation)
504 HPDF_Page_CreateWidgetAnnot_WhiteOnlyWhilePrint (HPDF_Doc   pdf,
505                                                  HPDF_Page  page,
506                                                  HPDF_Rect  rect);
507 
508 HPDF_EXPORT(HPDF_Annotation)
509 HPDF_Page_CreateWidgetAnnot (HPDF_Page  page,
510                              HPDF_Rect  rect);
511 
512 HPDF_EXPORT(HPDF_Annotation)
513 HPDF_Page_CreateLinkAnnot  (HPDF_Page          page,
514                             HPDF_Rect          rect,
515                             HPDF_Destination   dst);
516 
517 
518 HPDF_EXPORT(HPDF_Annotation)
519 HPDF_Page_CreateURILinkAnnot  (HPDF_Page     page,
520                                HPDF_Rect     rect,
521                                const char   *uri);
522 
523 
524 HPDF_Annotation
525 HPDF_Page_CreateTextMarkupAnnot (HPDF_Page     page,
526 								HPDF_Rect      rect,
527 								const char     *text,
528 								HPDF_Encoder   encoder,
529 								HPDF_AnnotType subType);
530 
531 HPDF_EXPORT(HPDF_Annotation)
532 HPDF_Page_CreateHighlightAnnot  (HPDF_Page   page,
533 								HPDF_Rect    rect,
534 								const char   *text,
535 								HPDF_Encoder encoder);
536 
537 HPDF_EXPORT(HPDF_Annotation)
538 HPDF_Page_CreateUnderlineAnnot (HPDF_Page    page,
539 								HPDF_Rect    rect,
540 								const char   *text,
541 								HPDF_Encoder encoder);
542 
543 HPDF_EXPORT(HPDF_Annotation)
544 HPDF_Page_CreateSquigglyAnnot  (HPDF_Page    page,
545 								HPDF_Rect    rect,
546 								const char   *text,
547 								HPDF_Encoder encoder);
548 
549 HPDF_EXPORT(HPDF_Annotation)
550 HPDF_Page_CreateStrikeOutAnnot  (HPDF_Page   page,
551 								HPDF_Rect    rect,
552 								const char   *text,
553 								HPDF_Encoder encoder);
554 
555 HPDF_EXPORT(HPDF_Annotation)
556 HPDF_Page_CreatePopupAnnot  (	HPDF_Page          page,
557 								HPDF_Rect          rect,
558 								HPDF_Annotation	   parent);
559 
560 HPDF_EXPORT(HPDF_Annotation)
561 HPDF_Page_CreateStampAnnot  (	HPDF_Page           page,
562 								HPDF_Rect           rect,
563 								HPDF_StampAnnotName name,
564 								const char*			text,
565 								HPDF_Encoder		encoder);
566 
567 HPDF_EXPORT(HPDF_Annotation)
568 HPDF_Page_CreateProjectionAnnot(HPDF_Page page,
569 								HPDF_Rect rect,
570 								const char* text,
571 								HPDF_Encoder encoder);
572 
573 HPDF_EXPORT(HPDF_Annotation)
574 HPDF_Page_CreateSquareAnnot (HPDF_Page          page,
575 							 HPDF_Rect          rect,
576 							 const char			*text,
577 							 HPDF_Encoder       encoder);
578 
579 HPDF_EXPORT(HPDF_Annotation)
580 HPDF_Page_CreateCircleAnnot (HPDF_Page          page,
581 							 HPDF_Rect          rect,
582 							 const char			*text,
583 							 HPDF_Encoder       encoder);
584 
585 HPDF_EXPORT(HPDF_STATUS)
586 HPDF_LinkAnnot_SetHighlightMode  (HPDF_Annotation           annot,
587                                   HPDF_AnnotHighlightMode   mode);
588 
589 HPDF_EXPORT(HPDF_STATUS)
590 HPDF_LinkAnnot_SetJavaScript(HPDF_Annotation    annot,
591                              HPDF_JavaScript    javascript);
592 
593 HPDF_EXPORT(HPDF_STATUS)
594 HPDF_LinkAnnot_SetBorderStyle  (HPDF_Annotation  annot,
595                                 HPDF_REAL        width,
596                                 HPDF_UINT16      dash_on,
597                                 HPDF_UINT16      dash_off);
598 
599 
600 HPDF_EXPORT(HPDF_STATUS)
601 HPDF_TextAnnot_SetIcon  (HPDF_Annotation   annot,
602                          HPDF_AnnotIcon    icon);
603 
604 
605 HPDF_EXPORT(HPDF_STATUS)
606 HPDF_TextAnnot_SetOpened  (HPDF_Annotation   annot,
607                           HPDF_BOOL          opened);
608 
609 HPDF_EXPORT(HPDF_STATUS)
610 HPDF_Annot_SetRGBColor (HPDF_Annotation annot, HPDF_RGBColor color);
611 
612 HPDF_EXPORT(HPDF_STATUS)
613 HPDF_Annot_SetCMYKColor (HPDF_Annotation annot, HPDF_CMYKColor color);
614 
615 HPDF_EXPORT(HPDF_STATUS)
616 HPDF_Annot_SetGrayColor (HPDF_Annotation annot, HPDF_REAL color);
617 
618 HPDF_EXPORT(HPDF_STATUS)
619 HPDF_Annot_SetNoColor (HPDF_Annotation annot);
620 
621 HPDF_EXPORT(HPDF_STATUS)
622 HPDF_MarkupAnnot_SetTitle (HPDF_Annotation annot, const char* name);
623 
624 HPDF_EXPORT(HPDF_STATUS)
625 HPDF_MarkupAnnot_SetSubject (HPDF_Annotation annot, const char* name);
626 
627 HPDF_EXPORT(HPDF_STATUS)
628 HPDF_MarkupAnnot_SetCreationDate (HPDF_Annotation annot, HPDF_Date value);
629 
630 HPDF_EXPORT(HPDF_STATUS)
631 HPDF_MarkupAnnot_SetTransparency (HPDF_Annotation annot, HPDF_REAL value);
632 
633 HPDF_EXPORT(HPDF_STATUS)
634 HPDF_MarkupAnnot_SetIntent (HPDF_Annotation  annot, HPDF_AnnotIntent  intent);
635 
636 HPDF_EXPORT(HPDF_STATUS)
637 HPDF_MarkupAnnot_SetPopup (HPDF_Annotation annot, HPDF_Annotation popup);
638 
639 HPDF_EXPORT(HPDF_STATUS)
640 HPDF_MarkupAnnot_SetRectDiff (HPDF_Annotation  annot, HPDF_Rect  rect); /* RD entry */
641 
642 HPDF_EXPORT(HPDF_STATUS)
643 HPDF_MarkupAnnot_SetCloudEffect (HPDF_Annotation  annot, HPDF_INT cloudIntensity); /* BE entry */
644 
645 HPDF_EXPORT(HPDF_STATUS)
646 HPDF_MarkupAnnot_SetInteriorRGBColor (HPDF_Annotation  annot, HPDF_RGBColor color); /* IC with RGB entry */
647 
648 HPDF_EXPORT(HPDF_STATUS)
649 HPDF_MarkupAnnot_SetInteriorCMYKColor (HPDF_Annotation  annot, HPDF_CMYKColor color); /* IC with CMYK entry */
650 
651 HPDF_EXPORT(HPDF_STATUS)
652 HPDF_MarkupAnnot_SetInteriorGrayColor (HPDF_Annotation  annot, HPDF_REAL color); /* IC with Gray entry */
653 
654 HPDF_EXPORT(HPDF_STATUS)
655 HPDF_MarkupAnnot_SetInteriorTransparent (HPDF_Annotation  annot); /* IC with No Color entry */
656 
657 HPDF_EXPORT(HPDF_STATUS)
658 HPDF_TextMarkupAnnot_SetQuadPoints ( HPDF_Annotation annot, HPDF_Point lb, HPDF_Point rb, HPDF_Point rt, HPDF_Point lt); /* l-left, r-right, b-bottom, t-top positions */
659 
660 HPDF_EXPORT(HPDF_STATUS)
661 HPDF_Annot_Set3DView  ( HPDF_MMgr mmgr,
662 					 	HPDF_Annotation	annot,
663 					 	HPDF_Annotation	annot3d,
664 					 	HPDF_Dict			view);
665 
666 HPDF_EXPORT(HPDF_STATUS)
667 HPDF_PopupAnnot_SetOpened  (HPDF_Annotation   annot,
668                             HPDF_BOOL         opened);
669 
670 HPDF_EXPORT(HPDF_STATUS)
671 HPDF_FreeTextAnnot_SetLineEndingStyle (HPDF_Annotation annot, HPDF_LineAnnotEndingStyle startStyle, HPDF_LineAnnotEndingStyle endStyle);
672 
673 HPDF_EXPORT(HPDF_STATUS)
674 HPDF_FreeTextAnnot_Set3PointCalloutLine (HPDF_Annotation annot, HPDF_Point startPoint, HPDF_Point kneePoint, HPDF_Point endPoint); /* Callout line will be in default user space */
675 
676 HPDF_EXPORT(HPDF_STATUS)
677 HPDF_FreeTextAnnot_Set2PointCalloutLine (HPDF_Annotation annot, HPDF_Point startPoint, HPDF_Point endPoint); /* Callout line will be in default user space */
678 
679 HPDF_EXPORT(HPDF_STATUS)
680 HPDF_FreeTextAnnot_SetDefaultStyle (HPDF_Annotation  annot, const char* style);
681 
682 HPDF_EXPORT(HPDF_STATUS)
683 HPDF_LineAnnot_SetPosition (HPDF_Annotation annot,
684 							HPDF_Point startPoint, HPDF_LineAnnotEndingStyle startStyle,
685 							HPDF_Point endPoint, HPDF_LineAnnotEndingStyle endStyle);
686 
687 HPDF_EXPORT(HPDF_STATUS)
688 HPDF_LineAnnot_SetLeader (HPDF_Annotation annot, HPDF_INT leaderLen, HPDF_INT leaderExtLen, HPDF_INT leaderOffsetLen);
689 
690 HPDF_EXPORT(HPDF_STATUS)
691 HPDF_LineAnnot_SetCaption (HPDF_Annotation annot, HPDF_BOOL showCaption, HPDF_LineAnnotCapPosition position, HPDF_INT horzOffset, HPDF_INT vertOffset);
692 
693 HPDF_EXPORT(HPDF_STATUS)
694 HPDF_Annotation_SetBorderStyle  (HPDF_Annotation  annot,
695                                  HPDF_BSSubtype   subtype,
696                                  HPDF_REAL        width,
697                                  HPDF_UINT16      dash_on,
698                                  HPDF_UINT16      dash_off,
699                                  HPDF_UINT16      dash_phase);
700 
701 HPDF_EXPORT(HPDF_STATUS)
702 HPDF_ProjectionAnnot_SetExData(HPDF_Annotation annot, HPDF_ExData exdata);
703 
704 
705 /*--------------------------------------------------------------------------*/
706 /*----- 3D Measure ---------------------------------------------------------*/
707 HPDF_EXPORT(HPDF_3DMeasure)
708 HPDF_Page_Create3DC3DMeasure(HPDF_Page       page,
709 					         HPDF_Point3D    firstanchorpoint,
710 					         HPDF_Point3D    textanchorpoint
711 					         );
712 
713 HPDF_EXPORT(HPDF_3DMeasure)
714 HPDF_Page_CreatePD33DMeasure(HPDF_Page       page,
715 					         HPDF_Point3D    annotationPlaneNormal,
716 					         HPDF_Point3D    firstAnchorPoint,
717    					         HPDF_Point3D    secondAnchorPoint,
718 	        				 HPDF_Point3D    leaderLinesDirection,
719    					         HPDF_Point3D    measurementValuePoint,
720 					         HPDF_Point3D    textYDirection,
721 					         HPDF_REAL       value,
722 							 const char*     unitsString
723   					        );
724 
725 HPDF_EXPORT(HPDF_STATUS)
726 HPDF_3DMeasure_SetName(HPDF_3DMeasure measure,
727 					   const char* name);
728 
729 HPDF_EXPORT(HPDF_STATUS)
730 HPDF_3DMeasure_SetColor(HPDF_3DMeasure measure,
731 						   HPDF_RGBColor color);
732 
733 HPDF_EXPORT(HPDF_STATUS)
734 HPDF_3DMeasure_SetTextSize(HPDF_3DMeasure measure,
735 							  HPDF_REAL textsize);
736 
737 HPDF_EXPORT(HPDF_STATUS)
738 HPDF_3DC3DMeasure_SetTextBoxSize(HPDF_3DMeasure measure,
739 							 HPDF_INT32 x,
740 							 HPDF_INT32 y);
741 
742 HPDF_EXPORT(HPDF_STATUS)
743 HPDF_3DC3DMeasure_SetText(HPDF_3DMeasure measure,
744 						  const char* text,
745 						  HPDF_Encoder encoder);
746 
747 HPDF_EXPORT(HPDF_STATUS)
748 HPDF_3DC3DMeasure_SetProjectionAnotation(HPDF_3DMeasure measure,
749 										 HPDF_Annotation projectionanotation);
750 
751 /*--------------------------------------------------------------------------*/
752 /*----- External Data ---------------------------------------------------------*/
753 
754 HPDF_EXPORT(HPDF_ExData)
755 HPDF_Page_Create3DAnnotExData(HPDF_Page       page );
756 
757 HPDF_EXPORT(HPDF_STATUS)
758 HPDF_3DAnnotExData_Set3DMeasurement(HPDF_ExData exdata, HPDF_3DMeasure measure);
759 
760 /*--------------------------------------------------------------------------*/
761 /*--------------------------------------------------------------------------*/
762 /*----- 3D View ---------------------------------------------------------*/
763 
764 HPDF_EXPORT(HPDF_Dict)
765 HPDF_Page_Create3DView    (HPDF_Page       page,
766 						   HPDF_U3D        u3d,
767 						   HPDF_Annotation	annot3d,
768 						   const char *name);
769 
770 HPDF_EXPORT(HPDF_STATUS)
771 HPDF_3DView_Add3DC3DMeasure(HPDF_Dict       view,
772 							HPDF_3DMeasure measure);
773 
774 /*--------------------------------------------------------------------------*/
775 /*----- image data ---------------------------------------------------------*/
776 
777 HPDF_EXPORT(HPDF_Image)
778 HPDF_LoadPngImageFromMem  (HPDF_Doc     pdf,
779                     const HPDF_BYTE    *buffer,
780                           HPDF_UINT     size);
781 
782 HPDF_EXPORT(HPDF_Image)
783 HPDF_LoadPngImageFromFile (HPDF_Doc      pdf,
784                            const char    *filename);
785 
786 
787 HPDF_EXPORT(HPDF_Image)
788 HPDF_LoadPngImageFromFile2 (HPDF_Doc      pdf,
789                             const char    *filename);
790 
791 
792 HPDF_EXPORT(HPDF_Image)
793 HPDF_LoadJpegImageFromFile (HPDF_Doc      pdf,
794                             const char    *filename);
795 
796 HPDF_EXPORT(HPDF_Image)
797 HPDF_LoadJpegImageFromMem   (HPDF_Doc      pdf,
798                       const HPDF_BYTE     *buffer,
799                             HPDF_UINT      size);
800 
801 HPDF_EXPORT(HPDF_Image)
802 HPDF_LoadU3DFromFile (HPDF_Doc      pdf,
803                             const char    *filename);
804 
805 HPDF_EXPORT(HPDF_Image)
806 HPDF_LoadU3DFromMem  (HPDF_Doc      pdf,
807                const HPDF_BYTE     *buffer,
808                      HPDF_UINT      size);
809 
810 HPDF_EXPORT(HPDF_Image)
811 HPDF_Image_LoadRaw1BitImageFromMem  (HPDF_Doc           pdf,
812                            const HPDF_BYTE   *buf,
813                           HPDF_UINT          width,
814                           HPDF_UINT          height,
815                           HPDF_UINT          line_width,
816                           HPDF_BOOL          black_is1,
817                           HPDF_BOOL          top_is_first);
818 
819 
820 HPDF_EXPORT(HPDF_Image)
821 HPDF_LoadRawImageFromFile  (HPDF_Doc           pdf,
822                             const char         *filename,
823                             HPDF_UINT          width,
824                             HPDF_UINT          height,
825                             HPDF_ColorSpace    color_space);
826 
827 
828 HPDF_EXPORT(HPDF_Image)
829 HPDF_LoadRawImageFromMem  (HPDF_Doc           pdf,
830                            const HPDF_BYTE   *buf,
831                            HPDF_UINT          width,
832                            HPDF_UINT          height,
833                            HPDF_ColorSpace    color_space,
834                            HPDF_UINT          bits_per_component);
835 
836 HPDF_EXPORT(HPDF_STATUS)
837 HPDF_Image_AddSMask  (HPDF_Image    image,
838                       HPDF_Image    smask);
839 
840 HPDF_EXPORT(HPDF_Point)
841 HPDF_Image_GetSize (HPDF_Image  image);
842 
843 
844 HPDF_EXPORT(HPDF_STATUS)
845 HPDF_Image_GetSize2 (HPDF_Image  image, HPDF_Point *size);
846 
847 
848 HPDF_EXPORT(HPDF_UINT)
849 HPDF_Image_GetWidth  (HPDF_Image   image);
850 
851 
852 HPDF_EXPORT(HPDF_UINT)
853 HPDF_Image_GetHeight  (HPDF_Image   image);
854 
855 
856 HPDF_EXPORT(HPDF_UINT)
857 HPDF_Image_GetBitsPerComponent (HPDF_Image  image);
858 
859 
860 HPDF_EXPORT(const char*)
861 HPDF_Image_GetColorSpace (HPDF_Image  image);
862 
863 
864 HPDF_EXPORT(HPDF_STATUS)
865 HPDF_Image_SetColorMask (HPDF_Image   image,
866                          HPDF_UINT    rmin,
867                          HPDF_UINT    rmax,
868                          HPDF_UINT    gmin,
869                          HPDF_UINT    gmax,
870                          HPDF_UINT    bmin,
871                          HPDF_UINT    bmax);
872 
873 
874 HPDF_EXPORT(HPDF_STATUS)
875 HPDF_Image_SetMaskImage  (HPDF_Image   image,
876                           HPDF_Image   mask_image);
877 
878 
879 /*--------------------------------------------------------------------------*/
880 /*----- info dictionary ----------------------------------------------------*/
881 
882 
883 HPDF_EXPORT(HPDF_STATUS)
884 HPDF_SetInfoAttr (HPDF_Doc        pdf,
885                   HPDF_InfoType   type,
886                   const char     *value);
887 
888 
889 HPDF_EXPORT(const char*)
890 HPDF_GetInfoAttr (HPDF_Doc        pdf,
891                   HPDF_InfoType   type);
892 
893 
894 HPDF_EXPORT(HPDF_STATUS)
895 HPDF_SetInfoDateAttr (HPDF_Doc        pdf,
896                       HPDF_InfoType   type,
897                       HPDF_Date       value);
898 
899 
900 /*--------------------------------------------------------------------------*/
901 /*----- encryption ---------------------------------------------------------*/
902 
903 HPDF_EXPORT(HPDF_STATUS)
904 HPDF_SetPassword  (HPDF_Doc      pdf,
905                    const char   *owner_passwd,
906                    const char   *user_passwd);
907 
908 
909 HPDF_EXPORT(HPDF_STATUS)
910 HPDF_SetPermission  (HPDF_Doc    pdf,
911                      HPDF_UINT   permission);
912 
913 
914 HPDF_EXPORT(HPDF_STATUS)
915 HPDF_SetEncryptionMode  (HPDF_Doc           pdf,
916                          HPDF_EncryptMode   mode,
917                          HPDF_UINT          key_len);
918 
919 
920 /*--------------------------------------------------------------------------*/
921 /*----- compression --------------------------------------------------------*/
922 
923 HPDF_EXPORT(HPDF_STATUS)
924 HPDF_SetCompressionMode  (HPDF_Doc    pdf,
925                           HPDF_UINT   mode);
926 
927 
928 /*--------------------------------------------------------------------------*/
929 /*----- font ---------------------------------------------------------------*/
930 
931 HPDF_EXPORT(const char*)
932 HPDF_Font_GetFontName  (HPDF_Font    font);
933 
934 
935 HPDF_EXPORT(const char*)
936 HPDF_Font_GetEncodingName  (HPDF_Font    font);
937 
938 
939 HPDF_EXPORT(HPDF_INT)
940 HPDF_Font_GetUnicodeWidth  (HPDF_Font       font,
941                             HPDF_UNICODE    code);
942 
943 HPDF_EXPORT(HPDF_Box)
944 HPDF_Font_GetBBox  (HPDF_Font    font);
945 
946 
947 HPDF_EXPORT(HPDF_INT)
948 HPDF_Font_GetAscent  (HPDF_Font  font);
949 
950 
951 HPDF_EXPORT(HPDF_INT)
952 HPDF_Font_GetDescent  (HPDF_Font  font);
953 
954 
955 HPDF_EXPORT(HPDF_UINT)
956 HPDF_Font_GetXHeight  (HPDF_Font  font);
957 
958 
959 HPDF_EXPORT(HPDF_UINT)
960 HPDF_Font_GetCapHeight  (HPDF_Font  font);
961 
962 
963 HPDF_EXPORT(HPDF_TextWidth)
964 HPDF_Font_TextWidth  (HPDF_Font          font,
965                       const HPDF_BYTE   *text,
966                       HPDF_UINT          len);
967 
968 
969 HPDF_EXPORT(HPDF_UINT)
970 HPDF_Font_MeasureText (HPDF_Font          font,
971                        const HPDF_BYTE   *text,
972                        HPDF_UINT          len,
973                        HPDF_REAL          width,
974                        HPDF_REAL          font_size,
975                        HPDF_REAL          char_space,
976                        HPDF_REAL          word_space,
977                        HPDF_BOOL          wordwrap,
978                        HPDF_REAL         *real_width);
979 
980 
981 /*--------------------------------------------------------------------------*/
982 /*----- attachements -------------------------------------------------------*/
983 
984 HPDF_EXPORT(HPDF_EmbeddedFile)
985 HPDF_AttachFile  (HPDF_Doc    pdf,
986                   const char *file);
987 
988 
989 /*--------------------------------------------------------------------------*/
990 /*----- extended graphics state --------------------------------------------*/
991 
992 HPDF_EXPORT(HPDF_ExtGState)
993 HPDF_CreateExtGState  (HPDF_Doc  pdf);
994 
995 
996 HPDF_EXPORT(HPDF_STATUS)
997 HPDF_ExtGState_SetAlphaStroke  (HPDF_ExtGState   ext_gstate,
998                                 HPDF_REAL        value);
999 
1000 
1001 HPDF_EXPORT(HPDF_STATUS)
1002 HPDF_ExtGState_SetAlphaFill  (HPDF_ExtGState   ext_gstate,
1003                               HPDF_REAL        value);
1004 
1005 
1006 
1007 HPDF_EXPORT(HPDF_STATUS)
1008 HPDF_ExtGState_SetBlendMode  (HPDF_ExtGState   ext_gstate,
1009                               HPDF_BlendMode   mode);
1010 
1011 
1012 /*--------------------------------------------------------------------------*/
1013 /*--------------------------------------------------------------------------*/
1014 
1015 HPDF_EXPORT(HPDF_REAL)
1016 HPDF_Page_TextWidth  (HPDF_Page    page,
1017                       const char  *text);
1018 
1019 
1020 HPDF_EXPORT(HPDF_UINT)
1021 HPDF_Page_MeasureText  (HPDF_Page    page,
1022                         const char  *text,
1023                         HPDF_REAL    width,
1024                         HPDF_BOOL    wordwrap,
1025                         HPDF_REAL   *real_width);
1026 
1027 
1028 HPDF_EXPORT(HPDF_REAL)
1029 HPDF_Page_GetWidth  (HPDF_Page   page);
1030 
1031 
1032 HPDF_EXPORT(HPDF_REAL)
1033 HPDF_Page_GetHeight  (HPDF_Page   page);
1034 
1035 
1036 HPDF_EXPORT(HPDF_UINT16)
1037 HPDF_Page_GetGMode  (HPDF_Page   page);
1038 
1039 
1040 HPDF_EXPORT(HPDF_Point)
1041 HPDF_Page_GetCurrentPos  (HPDF_Page   page);
1042 
1043 
1044 HPDF_EXPORT(HPDF_STATUS)
1045 HPDF_Page_GetCurrentPos2  (HPDF_Page    page,
1046                            HPDF_Point  *pos);
1047 
1048 
1049 HPDF_EXPORT(HPDF_Point)
1050 HPDF_Page_GetCurrentTextPos (HPDF_Page   page);
1051 
1052 
1053 HPDF_EXPORT(HPDF_STATUS)
1054 HPDF_Page_GetCurrentTextPos2  (HPDF_Page    page,
1055                                HPDF_Point  *pos);
1056 
1057 
1058 HPDF_EXPORT(HPDF_Font)
1059 HPDF_Page_GetCurrentFont  (HPDF_Page   page);
1060 
1061 
1062 HPDF_EXPORT(HPDF_REAL)
1063 HPDF_Page_GetCurrentFontSize  (HPDF_Page   page);
1064 
1065 
1066 HPDF_EXPORT(HPDF_TransMatrix)
1067 HPDF_Page_GetTransMatrix  (HPDF_Page   page);
1068 
1069 
1070 HPDF_EXPORT(HPDF_REAL)
1071 HPDF_Page_GetLineWidth  (HPDF_Page   page);
1072 
1073 
1074 HPDF_EXPORT(HPDF_LineCap)
1075 HPDF_Page_GetLineCap  (HPDF_Page   page);
1076 
1077 
1078 HPDF_EXPORT(HPDF_LineJoin)
1079 HPDF_Page_GetLineJoin  (HPDF_Page   page);
1080 
1081 
1082 HPDF_EXPORT(HPDF_REAL)
1083 HPDF_Page_GetMiterLimit  (HPDF_Page   page);
1084 
1085 
1086 HPDF_EXPORT(HPDF_DashMode)
1087 HPDF_Page_GetDash  (HPDF_Page   page);
1088 
1089 
1090 HPDF_EXPORT(HPDF_REAL)
1091 HPDF_Page_GetFlat  (HPDF_Page   page);
1092 
1093 
1094 HPDF_EXPORT(HPDF_REAL)
1095 HPDF_Page_GetCharSpace  (HPDF_Page   page);
1096 
1097 
1098 HPDF_EXPORT(HPDF_REAL)
1099 HPDF_Page_GetWordSpace  (HPDF_Page   page);
1100 
1101 
1102 HPDF_EXPORT(HPDF_REAL)
1103 HPDF_Page_GetHorizontalScalling  (HPDF_Page   page);
1104 
1105 
1106 HPDF_EXPORT(HPDF_REAL)
1107 HPDF_Page_GetTextLeading  (HPDF_Page   page);
1108 
1109 
1110 HPDF_EXPORT(HPDF_TextRenderingMode)
1111 HPDF_Page_GetTextRenderingMode  (HPDF_Page   page);
1112 
1113 
1114 /* This function is obsolete. Use HPDF_Page_GetTextRise.  */
1115 HPDF_EXPORT(HPDF_REAL)
1116 HPDF_Page_GetTextRaise  (HPDF_Page   page);
1117 
1118 
1119 HPDF_EXPORT(HPDF_REAL)
1120 HPDF_Page_GetTextRise  (HPDF_Page   page);
1121 
1122 
1123 HPDF_EXPORT(HPDF_RGBColor)
1124 HPDF_Page_GetRGBFill  (HPDF_Page   page);
1125 
1126 
1127 HPDF_EXPORT(HPDF_RGBColor)
1128 HPDF_Page_GetRGBStroke  (HPDF_Page   page);
1129 
1130 
1131 HPDF_EXPORT(HPDF_CMYKColor)
1132 HPDF_Page_GetCMYKFill  (HPDF_Page   page);
1133 
1134 
1135 HPDF_EXPORT(HPDF_CMYKColor)
1136 HPDF_Page_GetCMYKStroke  (HPDF_Page   page);
1137 
1138 
1139 HPDF_EXPORT(HPDF_REAL)
1140 HPDF_Page_GetGrayFill  (HPDF_Page   page);
1141 
1142 
1143 HPDF_EXPORT(HPDF_REAL)
1144 HPDF_Page_GetGrayStroke  (HPDF_Page   page);
1145 
1146 
1147 HPDF_EXPORT(HPDF_ColorSpace)
1148 HPDF_Page_GetStrokingColorSpace (HPDF_Page   page);
1149 
1150 
1151 HPDF_EXPORT(HPDF_ColorSpace)
1152 HPDF_Page_GetFillingColorSpace (HPDF_Page   page);
1153 
1154 
1155 HPDF_EXPORT(HPDF_TransMatrix)
1156 HPDF_Page_GetTextMatrix  (HPDF_Page   page);
1157 
1158 
1159 HPDF_EXPORT(HPDF_UINT)
1160 HPDF_Page_GetGStateDepth  (HPDF_Page   page);
1161 
1162 
1163 /*--------------------------------------------------------------------------*/
1164 /*----- GRAPHICS OPERATORS -------------------------------------------------*/
1165 
1166 
1167 /*--- General graphics state ---------------------------------------------*/
1168 
1169 /* w */
1170 HPDF_EXPORT(HPDF_STATUS)
1171 HPDF_Page_SetLineWidth  (HPDF_Page  page,
1172                          HPDF_REAL  line_width);
1173 
1174 /* J */
1175 HPDF_EXPORT(HPDF_STATUS)
1176 HPDF_Page_SetLineCap  (HPDF_Page     page,
1177                        HPDF_LineCap  line_cap);
1178 
1179 /* j */
1180 HPDF_EXPORT(HPDF_STATUS)
1181 HPDF_Page_SetLineJoin  (HPDF_Page      page,
1182                         HPDF_LineJoin  line_join);
1183 
1184 /* M */
1185 HPDF_EXPORT(HPDF_STATUS)
1186 HPDF_Page_SetMiterLimit  (HPDF_Page  page,
1187                           HPDF_REAL  miter_limit);
1188 
1189 /* d */
1190 HPDF_EXPORT(HPDF_STATUS)
1191 HPDF_Page_SetDash  (HPDF_Page           page,
1192                     const HPDF_UINT16  *dash_ptn,
1193                     HPDF_UINT           num_param,
1194                     HPDF_UINT           phase);
1195 
1196 
1197 
1198 /* ri --not implemented yet */
1199 
1200 /* i */
1201 HPDF_EXPORT(HPDF_STATUS)
1202 HPDF_Page_SetFlat  (HPDF_Page    page,
1203                     HPDF_REAL    flatness);
1204 
1205 /* gs */
1206 
1207 HPDF_EXPORT(HPDF_STATUS)
1208 HPDF_Page_SetExtGState  (HPDF_Page        page,
1209                          HPDF_ExtGState   ext_gstate);
1210 
1211 /* sh */
1212 HPDF_EXPORT(HPDF_STATUS)
1213 HPDF_Page_SetShading  (HPDF_Page    page,
1214                        HPDF_Shading shading);
1215 
1216 
1217 /*--- Special graphic state operator --------------------------------------*/
1218 
1219 /* q */
1220 HPDF_EXPORT(HPDF_STATUS)
1221 HPDF_Page_GSave  (HPDF_Page    page);
1222 
1223 /* Q */
1224 HPDF_EXPORT(HPDF_STATUS)
1225 HPDF_Page_GRestore  (HPDF_Page    page);
1226 
1227 /* cm */
1228 HPDF_EXPORT(HPDF_STATUS)
1229 HPDF_Page_Concat  (HPDF_Page    page,
1230                    HPDF_REAL    a,
1231                    HPDF_REAL    b,
1232                    HPDF_REAL    c,
1233                    HPDF_REAL    d,
1234                    HPDF_REAL    x,
1235                    HPDF_REAL    y);
1236 
1237 /*--- Path construction operator ------------------------------------------*/
1238 
1239 /* m */
1240 HPDF_EXPORT(HPDF_STATUS)
1241 HPDF_Page_MoveTo  (HPDF_Page    page,
1242                    HPDF_REAL    x,
1243                    HPDF_REAL    y);
1244 
1245 /* l */
1246 HPDF_EXPORT(HPDF_STATUS)
1247 HPDF_Page_LineTo  (HPDF_Page    page,
1248                    HPDF_REAL    x,
1249                    HPDF_REAL    y);
1250 
1251 /* c */
1252 HPDF_EXPORT(HPDF_STATUS)
1253 HPDF_Page_CurveTo  (HPDF_Page    page,
1254                     HPDF_REAL    x1,
1255                     HPDF_REAL    y1,
1256                     HPDF_REAL    x2,
1257                     HPDF_REAL    y2,
1258                     HPDF_REAL    x3,
1259                     HPDF_REAL    y3);
1260 
1261 /* v */
1262 HPDF_EXPORT(HPDF_STATUS)
1263 HPDF_Page_CurveTo2  (HPDF_Page    page,
1264                      HPDF_REAL    x2,
1265                      HPDF_REAL    y2,
1266                      HPDF_REAL    x3,
1267                      HPDF_REAL    y3);
1268 
1269 /* y */
1270 HPDF_EXPORT(HPDF_STATUS)
1271 HPDF_Page_CurveTo3  (HPDF_Page  page,
1272                      HPDF_REAL  x1,
1273                      HPDF_REAL  y1,
1274                      HPDF_REAL  x3,
1275                      HPDF_REAL  y3);
1276 
1277 /* h */
1278 HPDF_EXPORT(HPDF_STATUS)
1279 HPDF_Page_ClosePath  (HPDF_Page  page);
1280 
1281 /* re */
1282 HPDF_EXPORT(HPDF_STATUS)
1283 HPDF_Page_Rectangle  (HPDF_Page  page,
1284                       HPDF_REAL  x,
1285                       HPDF_REAL  y,
1286                       HPDF_REAL  width,
1287                       HPDF_REAL  height);
1288 
1289 
1290 /*--- Path painting operator ---------------------------------------------*/
1291 
1292 /* S */
1293 HPDF_EXPORT(HPDF_STATUS)
1294 HPDF_Page_Stroke  (HPDF_Page  page);
1295 
1296 /* s */
1297 HPDF_EXPORT(HPDF_STATUS)
1298 HPDF_Page_ClosePathStroke  (HPDF_Page  page);
1299 
1300 /* f */
1301 HPDF_EXPORT(HPDF_STATUS)
1302 HPDF_Page_Fill  (HPDF_Page  page);
1303 
1304 /* f* */
1305 HPDF_EXPORT(HPDF_STATUS)
1306 HPDF_Page_Eofill  (HPDF_Page  page);
1307 
1308 /* B */
1309 HPDF_EXPORT(HPDF_STATUS)
1310 HPDF_Page_FillStroke  (HPDF_Page  page);
1311 
1312 /* B* */
1313 HPDF_EXPORT(HPDF_STATUS)
1314 HPDF_Page_EofillStroke  (HPDF_Page  page);
1315 
1316 /* b */
1317 HPDF_EXPORT(HPDF_STATUS)
1318 HPDF_Page_ClosePathFillStroke  (HPDF_Page  page);
1319 
1320 /* b* */
1321 HPDF_EXPORT(HPDF_STATUS)
1322 HPDF_Page_ClosePathEofillStroke  (HPDF_Page  page);
1323 
1324 /* n */
1325 HPDF_EXPORT(HPDF_STATUS)
1326 HPDF_Page_EndPath  (HPDF_Page  page);
1327 
1328 
1329 /*--- Clipping paths operator --------------------------------------------*/
1330 
1331 /* W */
1332 HPDF_EXPORT(HPDF_STATUS)
1333 HPDF_Page_Clip  (HPDF_Page  page);
1334 
1335 /* W* */
1336 HPDF_EXPORT(HPDF_STATUS)
1337 HPDF_Page_Eoclip  (HPDF_Page  page);
1338 
1339 
1340 /*--- Text object operator -----------------------------------------------*/
1341 
1342 /* BT */
1343 HPDF_EXPORT(HPDF_STATUS)
1344 HPDF_Page_BeginText  (HPDF_Page  page);
1345 
1346 /* ET */
1347 HPDF_EXPORT(HPDF_STATUS)
1348 HPDF_Page_EndText  (HPDF_Page  page);
1349 
1350 /*--- Text state ---------------------------------------------------------*/
1351 
1352 /* Tc */
1353 HPDF_EXPORT(HPDF_STATUS)
1354 HPDF_Page_SetCharSpace  (HPDF_Page  page,
1355                          HPDF_REAL  value);
1356 
1357 /* Tw */
1358 HPDF_EXPORT(HPDF_STATUS)
1359 HPDF_Page_SetWordSpace  (HPDF_Page  page,
1360                          HPDF_REAL  value);
1361 
1362 /* Tz */
1363 HPDF_EXPORT(HPDF_STATUS)
1364 HPDF_Page_SetHorizontalScalling  (HPDF_Page  page,
1365                                   HPDF_REAL  value);
1366 
1367 /* TL */
1368 HPDF_EXPORT(HPDF_STATUS)
1369 HPDF_Page_SetTextLeading  (HPDF_Page  page,
1370                            HPDF_REAL  value);
1371 
1372 /* Tf */
1373 HPDF_EXPORT(HPDF_STATUS)
1374 HPDF_Page_SetFontAndSize  (HPDF_Page  page,
1375                            HPDF_Font  font,
1376                            HPDF_REAL  size);
1377 
1378 /* Tr */
1379 HPDF_EXPORT(HPDF_STATUS)
1380 HPDF_Page_SetTextRenderingMode  (HPDF_Page               page,
1381                                  HPDF_TextRenderingMode  mode);
1382 
1383 /* Ts */
1384 HPDF_EXPORT(HPDF_STATUS)
1385 HPDF_Page_SetTextRise  (HPDF_Page   page,
1386                         HPDF_REAL   value);
1387 
1388 /* This function is obsolete. Use HPDF_Page_SetTextRise.  */
1389 HPDF_EXPORT(HPDF_STATUS)
1390 HPDF_Page_SetTextRaise  (HPDF_Page   page,
1391                          HPDF_REAL   value);
1392 
1393 /*--- Text positioning ---------------------------------------------------*/
1394 
1395 /* Td */
1396 HPDF_EXPORT(HPDF_STATUS)
1397 HPDF_Page_MoveTextPos  (HPDF_Page   page,
1398                         HPDF_REAL   x,
1399                         HPDF_REAL   y);
1400 
1401 /* TD */
1402 HPDF_EXPORT(HPDF_STATUS)
1403 HPDF_Page_MoveTextPos2  (HPDF_Page  page,
1404                          HPDF_REAL   x,
1405                          HPDF_REAL   y);
1406 
1407 /* Tm */
1408 HPDF_EXPORT(HPDF_STATUS)
1409 HPDF_Page_SetTextMatrix  (HPDF_Page         page,
1410                           HPDF_REAL    a,
1411                           HPDF_REAL    b,
1412                           HPDF_REAL    c,
1413                           HPDF_REAL    d,
1414                           HPDF_REAL    x,
1415                           HPDF_REAL    y);
1416 
1417 
1418 /* T* */
1419 HPDF_EXPORT(HPDF_STATUS)
1420 HPDF_Page_MoveToNextLine  (HPDF_Page  page);
1421 
1422 /*--- Text showing -------------------------------------------------------*/
1423 
1424 /* Tj */
1425 HPDF_EXPORT(HPDF_STATUS)
1426 HPDF_Page_ShowText  (HPDF_Page    page,
1427                      const char  *text);
1428 
1429 /* TJ */
1430 
1431 /* ' */
1432 HPDF_EXPORT(HPDF_STATUS)
1433 HPDF_Page_ShowTextNextLine  (HPDF_Page    page,
1434                              const char  *text);
1435 
1436 /* " */
1437 HPDF_EXPORT(HPDF_STATUS)
1438 HPDF_Page_ShowTextNextLineEx  (HPDF_Page    page,
1439                                HPDF_REAL    word_space,
1440                                HPDF_REAL    char_space,
1441                                const char  *text);
1442 
1443 
1444 /*--- Color showing ------------------------------------------------------*/
1445 
1446 /* cs --not implemented yet */
1447 /* CS --not implemented yet */
1448 /* sc --not implemented yet */
1449 /* scn --not implemented yet */
1450 /* SC --not implemented yet */
1451 /* SCN --not implemented yet */
1452 
1453 /* g */
1454 HPDF_EXPORT(HPDF_STATUS)
1455 HPDF_Page_SetGrayFill  (HPDF_Page   page,
1456                         HPDF_REAL   gray);
1457 
1458 /* G */
1459 HPDF_EXPORT(HPDF_STATUS)
1460 HPDF_Page_SetGrayStroke  (HPDF_Page   page,
1461                           HPDF_REAL   gray);
1462 
1463 /* rg */
1464 HPDF_EXPORT(HPDF_STATUS)
1465 HPDF_Page_SetRGBFill  (HPDF_Page  page,
1466                        HPDF_REAL  r,
1467                        HPDF_REAL  g,
1468                        HPDF_REAL  b);
1469 
1470 /* RG */
1471 HPDF_EXPORT(HPDF_STATUS)
1472 HPDF_Page_SetRGBStroke  (HPDF_Page  page,
1473                          HPDF_REAL  r,
1474                          HPDF_REAL  g,
1475                          HPDF_REAL  b);
1476 
1477 /* k */
1478 HPDF_EXPORT(HPDF_STATUS)
1479 HPDF_Page_SetCMYKFill  (HPDF_Page  page,
1480                         HPDF_REAL  c,
1481                         HPDF_REAL  m,
1482                         HPDF_REAL  y,
1483                         HPDF_REAL  k);
1484 
1485 /* K */
1486 HPDF_EXPORT(HPDF_STATUS)
1487 HPDF_Page_SetCMYKStroke  (HPDF_Page  page,
1488                           HPDF_REAL  c,
1489                           HPDF_REAL  m,
1490                           HPDF_REAL  y,
1491                           HPDF_REAL  k);
1492 
1493 /*--- Shading patterns ---------------------------------------------------*/
1494 
1495 /* Notes for docs:
1496  * - ShadingType must be HPDF_SHADING_FREE_FORM_TRIANGLE_MESH (the only
1497  *   defined option...)
1498  * - colorSpace must be HPDF_CS_DEVICE_RGB for now.
1499  */
1500 HPDF_EXPORT(HPDF_Shading)
1501 HPDF_Shading_New  (HPDF_Doc         pdf,
1502                    HPDF_ShadingType type,
1503                    HPDF_ColorSpace  colorSpace,
1504                    HPDF_REAL xMin, HPDF_REAL xMax,
1505                    HPDF_REAL yMin, HPDF_REAL yMax);
1506 
1507 HPDF_EXPORT(HPDF_STATUS)
1508 HPDF_Shading_AddVertexRGB(HPDF_Shading shading,
1509                           HPDF_Shading_FreeFormTriangleMeshEdgeFlag edgeFlag,
1510                           HPDF_REAL x, HPDF_REAL y,
1511                           HPDF_UINT8 r, HPDF_UINT8 g, HPDF_UINT8 b);
1512 
1513 /*--- In-line images -----------------------------------------------------*/
1514 
1515 /* BI --not implemented yet */
1516 /* ID --not implemented yet */
1517 /* EI --not implemented yet */
1518 
1519 /*--- XObjects -----------------------------------------------------------*/
1520 
1521 /* Do */
1522 HPDF_EXPORT(HPDF_STATUS)
1523 HPDF_Page_ExecuteXObject  (HPDF_Page     page,
1524                            HPDF_XObject  obj);
1525 
1526 /*--- Content streams ----------------------------------------------------*/
1527 
1528 HPDF_EXPORT(HPDF_STATUS)
1529 HPDF_Page_New_Content_Stream  (HPDF_Page page,
1530                                HPDF_Dict* new_stream);
1531 
1532 HPDF_EXPORT(HPDF_STATUS)
1533 HPDF_Page_Insert_Shared_Content_Stream  (HPDF_Page page,
1534                                          HPDF_Dict shared_stream);
1535 
1536 
1537 /*--- Marked content -----------------------------------------------------*/
1538 
1539 /* BMC --not implemented yet */
1540 /* BDC --not implemented yet */
1541 /* EMC --not implemented yet */
1542 /* MP --not implemented yet */
1543 /* DP --not implemented yet */
1544 
1545 /*--- Compatibility ------------------------------------------------------*/
1546 
1547 /* BX --not implemented yet */
1548 /* EX --not implemented yet */
1549 
1550 HPDF_EXPORT(HPDF_STATUS)
1551 HPDF_Page_DrawImage  (HPDF_Page    page,
1552                       HPDF_Image   image,
1553                       HPDF_REAL    x,
1554                       HPDF_REAL    y,
1555                       HPDF_REAL    width,
1556                       HPDF_REAL    height);
1557 
1558 
1559 HPDF_EXPORT(HPDF_STATUS)
1560 HPDF_Page_Circle  (HPDF_Page     page,
1561                    HPDF_REAL     x,
1562                    HPDF_REAL     y,
1563                    HPDF_REAL     ray);
1564 
1565 
1566 HPDF_EXPORT(HPDF_STATUS)
1567 HPDF_Page_Ellipse  (HPDF_Page   page,
1568                     HPDF_REAL   x,
1569                     HPDF_REAL   y,
1570                     HPDF_REAL  xray,
1571                     HPDF_REAL  yray);
1572 
1573 
1574 HPDF_EXPORT(HPDF_STATUS)
1575 HPDF_Page_Arc  (HPDF_Page    page,
1576                 HPDF_REAL    x,
1577                 HPDF_REAL    y,
1578                 HPDF_REAL    ray,
1579                 HPDF_REAL    ang1,
1580                 HPDF_REAL    ang2);
1581 
1582 
1583 HPDF_EXPORT(HPDF_STATUS)
1584 HPDF_Page_TextOut  (HPDF_Page    page,
1585                     HPDF_REAL    xpos,
1586                     HPDF_REAL    ypos,
1587                     const char  *text);
1588 
1589 
1590 HPDF_EXPORT(HPDF_STATUS)
1591 HPDF_Page_TextRect  (HPDF_Page            page,
1592                      HPDF_REAL            left,
1593                      HPDF_REAL            top,
1594                      HPDF_REAL            right,
1595                      HPDF_REAL            bottom,
1596                      const char          *text,
1597                      HPDF_TextAlignment   align,
1598                      HPDF_UINT           *len);
1599 
1600 
1601 HPDF_EXPORT(HPDF_STATUS)
1602 HPDF_Page_SetSlideShow  (HPDF_Page              page,
1603                          HPDF_TransitionStyle   type,
1604                          HPDF_REAL              disp_time,
1605                          HPDF_REAL              trans_time);
1606 
1607 
1608 HPDF_EXPORT(HPDF_OutputIntent)
1609 HPDF_ICC_LoadIccFromMem (HPDF_Doc   pdf,
1610                         HPDF_MMgr   mmgr,
1611                         HPDF_Stream iccdata,
1612                         HPDF_Xref   xref,
1613                         int         numcomponent);
1614 
1615 HPDF_EXPORT(HPDF_OutputIntent)
1616 HPDF_LoadIccProfileFromFile  (HPDF_Doc  pdf,
1617                             const char* icc_file_name,
1618                                    int  numcomponent);
1619 
1620 #ifdef __cplusplus
1621 }
1622 #endif /* __cplusplus */
1623 
1624 #endif /* _HPDF_H */
1625 
1626