Home | History | Annotate | Download | only in public
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef PUBLIC_FPDF_EXT_H_
      8 #define PUBLIC_FPDF_EXT_H_
      9 
     10 #include "fpdfview.h"
     11 
     12 #ifdef __cplusplus
     13 extern "C" {
     14 #endif
     15 
     16 //flags for type of unsupport object.
     17 #define FPDF_UNSP_DOC_XFAFORM               1
     18 #define FPDF_UNSP_DOC_PORTABLECOLLECTION    2
     19 #define FPDF_UNSP_DOC_ATTACHMENT            3
     20 #define FPDF_UNSP_DOC_SECURITY              4
     21 #define FPDF_UNSP_DOC_SHAREDREVIEW          5
     22 #define FPDF_UNSP_DOC_SHAREDFORM_ACROBAT    6
     23 #define FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM 7
     24 #define FPDF_UNSP_DOC_SHAREDFORM_EMAIL      8
     25 #define FPDF_UNSP_ANNOT_3DANNOT             11
     26 #define FPDF_UNSP_ANNOT_MOVIE               12
     27 #define FPDF_UNSP_ANNOT_SOUND               13
     28 #define FPDF_UNSP_ANNOT_SCREEN_MEDIA        14
     29 #define FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA    15
     30 #define FPDF_UNSP_ANNOT_ATTACHMENT          16
     31 #define FPDF_UNSP_ANNOT_SIG                 17
     32 
     33 typedef struct _UNSUPPORT_INFO
     34 {
     35     /**
     36     * Version number of the interface. Currently must be 1.
     37     **/
     38     int version;
     39 
     40     /**
     41     * Method: FSDK_UnSupport_Handler
     42     *            UnSupport Object process handling function.
     43     * Interface Version:
     44     *           1
     45     * Implementation Required:
     46     *           Yes
     47     * Parameters:
     48     *       pThis       -   Pointer to the interface structure itself.
     49     *       nType       -   The type of unsupportObject
     50     *   Return value:
     51     *       None.
     52     * */
     53 
     54     void(*FSDK_UnSupport_Handler)(struct _UNSUPPORT_INFO* pThis, int nType);
     55 } UNSUPPORT_INFO;
     56 
     57 /**
     58  * Function: FSDK_SetUnSpObjProcessHandler
     59  *           Setup A UnSupport Object process handler for foxit sdk.
     60  * Parameters:
     61  *          unsp_info       -   Pointer to a UNSUPPORT_INFO structure.
     62  * Return Value:
     63  *          TRUE means successful. FALSE means fails.
     64  **/
     65 
     66 DLLEXPORT FPDF_BOOL STDCALL FSDK_SetUnSpObjProcessHandler(UNSUPPORT_INFO* unsp_info);
     67 
     68 //flags for page mode.
     69 
     70 //Unknown value
     71 #define PAGEMODE_UNKNOWN        -1
     72 
     73 //Neither document outline nor thumbnail images visible
     74 #define PAGEMODE_USENONE        0
     75 
     76 //Document outline visible
     77 #define PAGEMODE_USEOUTLINES    1
     78 
     79 //Thumbnial images visible
     80 #define PAGEMODE_USETHUMBS      2
     81 
     82 //Full-screen mode, with no menu bar, window controls, or any other window visible
     83 #define PAGEMODE_FULLSCREEN     3
     84 
     85 //Optional content group panel visible
     86 #define PAGEMODE_USEOC          4
     87 
     88 //Attachments panel visible
     89 #define PAGEMODE_USEATTACHMENTS 5
     90 
     91 
     92 /**
     93  * Function: FPDFDoc_GetPageMode
     94  *           Get the document's PageMode(How the document should be displayed when opened)
     95  * Parameters:
     96  *          doc     -   Handle to document. Returned by FPDF_LoadDocument function.
     97  * Return Value:
     98  *          The flags for page mode.
     99  **/
    100 DLLEXPORT int FPDFDoc_GetPageMode(FPDF_DOCUMENT document);
    101 
    102 #ifdef __cplusplus
    103 }
    104 #endif
    105 
    106 #endif  // PUBLIC_FPDF_EXT_H_
    107