• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // NOLINTNEXTLINE(build/include)
11 #include "fpdfview.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif  // __cplusplus
16 
17 // Unsupported XFA form.
18 #define FPDF_UNSP_DOC_XFAFORM 1
19 // Unsupported portable collection.
20 #define FPDF_UNSP_DOC_PORTABLECOLLECTION 2
21 // Unsupported attachment.
22 #define FPDF_UNSP_DOC_ATTACHMENT 3
23 // Unsupported security.
24 #define FPDF_UNSP_DOC_SECURITY 4
25 // Unsupported shared review.
26 #define FPDF_UNSP_DOC_SHAREDREVIEW 5
27 // Unsupported shared form, acrobat.
28 #define FPDF_UNSP_DOC_SHAREDFORM_ACROBAT 6
29 // Unsupported shared form, filesystem.
30 #define FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM 7
31 // Unsupported shared form, email.
32 #define FPDF_UNSP_DOC_SHAREDFORM_EMAIL 8
33 // Unsupported 3D annotation.
34 #define FPDF_UNSP_ANNOT_3DANNOT 11
35 // Unsupported movie annotation.
36 #define FPDF_UNSP_ANNOT_MOVIE 12
37 // Unsupported sound annotation.
38 #define FPDF_UNSP_ANNOT_SOUND 13
39 // Unsupported screen media annotation.
40 #define FPDF_UNSP_ANNOT_SCREEN_MEDIA 14
41 // Unsupported screen rich media annotation.
42 #define FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA 15
43 // Unsupported attachment annotation.
44 #define FPDF_UNSP_ANNOT_ATTACHMENT 16
45 // Unsupported signature annotation.
46 #define FPDF_UNSP_ANNOT_SIG 17
47 
48 // Interface for unsupported feature notifications.
49 typedef struct _UNSUPPORT_INFO {
50   // Version number of the interface. Must be 1.
51   int version;
52 
53   // Unsupported object notification function.
54   // Interface Version: 1
55   // Implementation Required: Yes
56   //
57   //   pThis - pointer to the interface structure.
58   //   nType - the type of unsupported object. One of the |FPDF_UNSP_*| entries.
59   void (*FSDK_UnSupport_Handler)(struct _UNSUPPORT_INFO* pThis, int nType);
60 } UNSUPPORT_INFO;
61 
62 // Setup an unsupported object handler.
63 //
64 //   unsp_info - Pointer to an UNSUPPORT_INFO structure.
65 //
66 // Returns TRUE on success.
67 DLLEXPORT FPDF_BOOL STDCALL
68 FSDK_SetUnSpObjProcessHandler(UNSUPPORT_INFO* unsp_info);
69 
70 // Unknown page mode.
71 #define PAGEMODE_UNKNOWN -1
72 // Document outline, and thumbnails hidden.
73 #define PAGEMODE_USENONE 0
74 // Document outline visible.
75 #define PAGEMODE_USEOUTLINES 1
76 // Thumbnail images visible.
77 #define PAGEMODE_USETHUMBS 2
78 // Full-screen mode, no menu bar, window controls, or other decorations visible.
79 #define PAGEMODE_FULLSCREEN 3
80 // Optional content group panel visible.
81 #define PAGEMODE_USEOC 4
82 // Attachments panel visible.
83 #define PAGEMODE_USEATTACHMENTS 5
84 
85 // Get the document's PageMode.
86 //
87 //   doc - Handle to document.
88 //
89 // Returns one of the |PAGEMODE_*| flags defined above.
90 //
91 // The page mode defines how the document should be initially displayed.
92 DLLEXPORT int STDCALL FPDFDoc_GetPageMode(FPDF_DOCUMENT document);
93 
94 #ifdef __cplusplus
95 }  // extern "C"
96 #endif  // __cplusplus
97 
98 #endif  // PUBLIC_FPDF_EXT_H_
99