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 14extern "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. 49typedef 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. 67DLLEXPORT FPDF_BOOL STDCALL 68FSDK_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. 92DLLEXPORT 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