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