| // Copyright 2014 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| |
| #ifndef PUBLIC_FPDF_EXT_H_ |
| #define PUBLIC_FPDF_EXT_H_ |
| |
| #include <time.h> |
| |
| // NOLINTNEXTLINE(build/include) |
| #include "fpdfview.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif // __cplusplus |
| |
| // Unsupported XFA form. |
| #define FPDF_UNSP_DOC_XFAFORM 1 |
| // Unsupported portable collection. |
| #define FPDF_UNSP_DOC_PORTABLECOLLECTION 2 |
| // Unsupported attachment. |
| #define FPDF_UNSP_DOC_ATTACHMENT 3 |
| // Unsupported security. |
| #define FPDF_UNSP_DOC_SECURITY 4 |
| // Unsupported shared review. |
| #define FPDF_UNSP_DOC_SHAREDREVIEW 5 |
| // Unsupported shared form, acrobat. |
| #define FPDF_UNSP_DOC_SHAREDFORM_ACROBAT 6 |
| // Unsupported shared form, filesystem. |
| #define FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM 7 |
| // Unsupported shared form, email. |
| #define FPDF_UNSP_DOC_SHAREDFORM_EMAIL 8 |
| // Unsupported 3D annotation. |
| #define FPDF_UNSP_ANNOT_3DANNOT 11 |
| // Unsupported movie annotation. |
| #define FPDF_UNSP_ANNOT_MOVIE 12 |
| // Unsupported sound annotation. |
| #define FPDF_UNSP_ANNOT_SOUND 13 |
| // Unsupported screen media annotation. |
| #define FPDF_UNSP_ANNOT_SCREEN_MEDIA 14 |
| // Unsupported screen rich media annotation. |
| #define FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA 15 |
| // Unsupported attachment annotation. |
| #define FPDF_UNSP_ANNOT_ATTACHMENT 16 |
| // Unsupported signature annotation. |
| #define FPDF_UNSP_ANNOT_SIG 17 |
| |
| // Interface for unsupported feature notifications. |
| typedef struct _UNSUPPORT_INFO { |
| // Version number of the interface. Must be 1. |
| int version; |
| |
| // Unsupported object notification function. |
| // Interface Version: 1 |
| // Implementation Required: Yes |
| // |
| // pThis - pointer to the interface structure. |
| // nType - the type of unsupported object. One of the |FPDF_UNSP_*| entries. |
| void (*FSDK_UnSupport_Handler)(struct _UNSUPPORT_INFO* pThis, int nType); |
| } UNSUPPORT_INFO; |
| |
| // Setup an unsupported object handler. |
| // |
| // unsp_info - Pointer to an UNSUPPORT_INFO structure. |
| // |
| // Returns TRUE on success. |
| FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV |
| FSDK_SetUnSpObjProcessHandler(UNSUPPORT_INFO* unsp_info); |
| |
| // Set replacement function for calls to time(). |
| // |
| // This API is intended to be used only for testing, thus may cause PDFium to |
| // behave poorly in production environments. |
| // |
| // func - Function pointer to alternate implementation of time(), or |
| // NULL to restore to actual time() call itself. |
| FPDF_EXPORT void FPDF_CALLCONV FSDK_SetTimeFunction(time_t (*func)()); |
| |
| // Set replacement function for calls to localtime(). |
| // |
| // This API is intended to be used only for testing, thus may cause PDFium to |
| // behave poorly in production environments. |
| // |
| // func - Function pointer to alternate implementation of localtime(), or |
| // NULL to restore to actual localtime() call itself. |
| FPDF_EXPORT void FPDF_CALLCONV |
| FSDK_SetLocaltimeFunction(struct tm* (*func)(const time_t*)); |
| |
| // Unknown page mode. |
| #define PAGEMODE_UNKNOWN -1 |
| // Document outline, and thumbnails hidden. |
| #define PAGEMODE_USENONE 0 |
| // Document outline visible. |
| #define PAGEMODE_USEOUTLINES 1 |
| // Thumbnail images visible. |
| #define PAGEMODE_USETHUMBS 2 |
| // Full-screen mode, no menu bar, window controls, or other decorations visible. |
| #define PAGEMODE_FULLSCREEN 3 |
| // Optional content group panel visible. |
| #define PAGEMODE_USEOC 4 |
| // Attachments panel visible. |
| #define PAGEMODE_USEATTACHMENTS 5 |
| |
| // Get the document's PageMode. |
| // |
| // doc - Handle to document. |
| // |
| // Returns one of the |PAGEMODE_*| flags defined above. |
| // |
| // The page mode defines how the document should be initially displayed. |
| FPDF_EXPORT int FPDF_CALLCONV FPDFDoc_GetPageMode(FPDF_DOCUMENT document); |
| |
| #ifdef __cplusplus |
| } // extern "C" |
| #endif // __cplusplus |
| |
| #endif // PUBLIC_FPDF_EXT_H_ |