Fix incorrect CPDFSDK_PageView::CountAnnots().
[pdfium.git] / public / 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 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_