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   * Version number of the interface. Currently must be 1.
     36   **/
     37   int version;
     38 
     39   /**
     40   * Method: FSDK_UnSupport_Handler
     41   *            UnSupport Object process handling function.
     42   * Interface Version:
     43   *           1
     44   * Implementation Required:
     45   *           Yes
     46   * Parameters:
     47   *       pThis       -   Pointer to the interface structure itself.
     48   *       nType       -   The type of unsupportObject
     49   *   Return value:
     50   *       None.
     51   * */
     52 
     53   void (*FSDK_UnSupport_Handler)(struct _UNSUPPORT_INFO* pThis, int nType);
     54 } UNSUPPORT_INFO;
     55 
     56 /**
     57  * Function: FSDK_SetUnSpObjProcessHandler
     58  *           Setup A UnSupport Object process handler for foxit sdk.
     59  * Parameters:
     60  *          unsp_info       -   Pointer to a UNSUPPORT_INFO structure.
     61  * Return Value:
     62  *          TRUE means successful. FALSE means fails.
     63  **/
     64 
     65 DLLEXPORT FPDF_BOOL STDCALL
     66 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
     83 // visible
     84 #define PAGEMODE_FULLSCREEN 3
     85 
     86 // Optional content group panel visible
     87 #define PAGEMODE_USEOC 4
     88 
     89 // Attachments panel visible
     90 #define PAGEMODE_USEATTACHMENTS 5
     91 
     92 /**
     93  * Function: FPDFDoc_GetPageMode
     94  *           Get the document's PageMode(How the document should be displayed
     95  *when opened)
     96  * Parameters:
     97  *          doc     -   Handle to document. Returned by FPDF_LoadDocument
     98  *function.
     99  * Return Value:
    100  *          The flags for page mode.
    101  **/
    102 DLLEXPORT int FPDFDoc_GetPageMode(FPDF_DOCUMENT document);
    103 
    104 #ifdef __cplusplus
    105 }
    106 #endif
    107 
    108 #endif  // PUBLIC_FPDF_EXT_H_
    109