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