summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-11-30 15:46:36 -0800
committerTom Sepez <tsepez@chromium.org>2015-11-30 15:46:36 -0800
commitc46d0005880b24d38d9e7eab2f446e9724e93537 (patch)
tree731f81c6fcb313a9e3c2b8e0ceaf21f3ce70b6b4 /public
parent40e9ff30b7f22b37c071dc9751f489d4cc22b0ee (diff)
downloadpdfium-c46d0005880b24d38d9e7eab2f446e9724e93537.tar.xz
Allow building non-XFA (master) on the XFA branch.
This first pass is GYP-only, will do GN in the next CL. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1480403002 .
Diffstat (limited to 'public')
-rw-r--r--public/fpdf_formfill.h58
-rw-r--r--public/fpdfview.h74
2 files changed, 82 insertions, 50 deletions
diff --git a/public/fpdf_formfill.h b/public/fpdf_formfill.h
index 297bd4af55..b3bbb9280c 100644
--- a/public/fpdf_formfill.h
+++ b/public/fpdf_formfill.h
@@ -11,9 +11,11 @@
typedef void* FPDF_FORMHANDLE;
+#ifdef PDF_ENABLE_XFA
#define DOCTYPE_PDF 0 // Normal pdf Document
#define DOCTYPE_DYNAMIC_XFA 1 // Dynamic xfa Document Type
#define DOCTYPE_STATIC_XFA 2 // Static xfa Document Type
+#endif // PDF_ENABLE_XFA
// Exported Functions
#ifdef __cplusplus
@@ -50,7 +52,6 @@ typedef struct _IPDF_JsPlatform {
* 2-Question;
* 3-Status.
* 4-Asterisk
-
* Return Value:
* The return value could be the folowing type:
* 1-OK;
@@ -339,6 +340,7 @@ typedef struct _FPDF_SYSTEMTIME {
unsigned short wMilliseconds; /* milliseconds after the second - [0,999] */
} FPDF_SYSTEMTIME;
+#ifdef PDF_ENABLE_XFA
// XFA
/**
* @name Pageview event flags
@@ -371,29 +373,31 @@ typedef struct _FPDF_SYSTEMTIME {
#define FXFA_SAVEAS_XML 1
#define FXFA_SAVEAS_XDP 2
/*@}*/
+#endif // PDF_ENABLE_XFA
typedef struct _FPDF_FORMFILLINFO {
/**
- * Version number of the interface. Currently must be 2 (with XFA module).
+ * Version number of the interface. Currently must be 1 (when PDFium is built
+ * without the XFA module) or must be 2 (when built with the XFA module).
**/
int version;
+ /* Version 1. */
/**
-*Method: Release
-* Give implementation a chance to release any data after the interface
-* is no longer used
-*Interface Version:
-* 1
-*Implementation Required:
-* No
-*Comments:
-* Called by Foxit SDK during the final cleanup process.
-*Parameters:
-* pThis - Pointer to the interface structure itself
-*Return Value:
-* None
-*/
-
+ *Method: Release
+ * Give implementation a chance to release any data after the
+ * interface is no longer used
+ *Interface Version:
+ * 1
+ *Implementation Required:
+ * No
+ *Comments:
+ * Called by Foxit SDK during the final cleanup process.
+ *Parameters:
+ * pThis - Pointer to the interface structure itself
+ *Return Value:
+ * None
+ */
void (*Release)(struct _FPDF_FORMFILLINFO* pThis);
/**
@@ -699,6 +703,8 @@ typedef struct _FPDF_FORMFILLINFO {
**/
IPDF_JSPLATFORM* m_pJsPlatform;
+#ifdef PDF_ENABLE_XFA
+ /* Version 2. */
/**
* Method: FFI_DisplayCaret
* This method will show the caret at specified position.
@@ -728,6 +734,7 @@ typedef struct _FPDF_FORMFILLINFO {
double top,
double right,
double bottom);
+
/**
* Method: FFI_GetCurrentPageIndex
* This method will get the current page index.
@@ -744,6 +751,7 @@ typedef struct _FPDF_FORMFILLINFO {
**/
int (*FFI_GetCurrentPageIndex)(struct _FPDF_FORMFILLINFO* pThis,
FPDF_DOCUMENT document);
+
/**
* Method: FFI_SetCurrentPage
* This method will set the current page.
@@ -762,6 +770,7 @@ typedef struct _FPDF_FORMFILLINFO {
void (*FFI_SetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis,
FPDF_DOCUMENT document,
int iCurPage);
+
/**
* Method: FFI_GotoURL
* This method will link to the specified URL.
@@ -780,6 +789,7 @@ typedef struct _FPDF_FORMFILLINFO {
void (*FFI_GotoURL)(struct _FPDF_FORMFILLINFO* pThis,
FPDF_DOCUMENT document,
FPDF_WIDESTRING wsURL);
+
/**
* Method: FFI_GetPageViewRect
* This method will get the current page view rectangle.
@@ -830,6 +840,7 @@ typedef struct _FPDF_FORMFILLINFO {
* TRUE indicates success; otherwise false.
**/
FPDF_BOOL (*FFI_PopupMenu)(struct _FPDF_FORMFILLINFO* pThis, FPDF_PAGE page, FPDF_WIDGET hWidget, int menuFlag, float x, float y);
+
/**
* Method: FFI_OpenFile
* This method will open the specified file with the specified mode.
@@ -851,6 +862,7 @@ typedef struct _FPDF_FORMFILLINFO {
int fileFlag,
FPDF_WIDESTRING wsURL,
const char* mode);
+
/**
* Method: FFI_EmailTo
* This method will email the specified file stream to the specified
@@ -881,6 +893,7 @@ typedef struct _FPDF_FORMFILLINFO {
FPDF_WIDESTRING pCC,
FPDF_WIDESTRING pBcc,
FPDF_WIDESTRING pMsg);
+
/**
* Method: FFI_UploadTo
* This method will get upload the specified file stream to the
@@ -922,6 +935,7 @@ typedef struct _FPDF_FORMFILLINFO {
int (*FFI_GetPlatform)(struct _FPDF_FORMFILLINFO* pThis,
void* platform,
int length);
+
/**
* Method: FFI_GetLanguage
* This method will get the current language.
@@ -941,6 +955,7 @@ typedef struct _FPDF_FORMFILLINFO {
int (*FFI_GetLanguage)(struct _FPDF_FORMFILLINFO* pThis,
void* language,
int length);
+
/**
* Method: FFI_DownloadFromURL
* This method will download the specified file from the URL.
@@ -978,6 +993,7 @@ typedef struct _FPDF_FORMFILLINFO {
* TRUE indicates success, otherwise FALSE.
**/
FPDF_BOOL (*FFI_PostRequestURL)(struct _FPDF_FORMFILLINFO* pThis, FPDF_WIDESTRING wsURL, FPDF_WIDESTRING wsData, FPDF_WIDESTRING wsContentType, FPDF_WIDESTRING wsEncode, FPDF_WIDESTRING wsHeader, FPDF_BSTR* respone);
+
/**
* Method: FFI_PutRequestURL
* This method will put the request to the server URL.
@@ -995,6 +1011,7 @@ typedef struct _FPDF_FORMFILLINFO {
* TRUE indicates success, otherwise FALSE.
**/
FPDF_BOOL (*FFI_PutRequestURL)(struct _FPDF_FORMFILLINFO* pThis, FPDF_WIDESTRING wsURL, FPDF_WIDESTRING wsData, FPDF_WIDESTRING wsEncode);
+#endif // PDF_ENABLE_XFA
} FPDF_FORMFILLINFO;
@@ -1212,6 +1229,7 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle,
double page_x,
double page_y);
+#ifdef PDF_ENABLE_XFA
DLLEXPORT FPDF_BOOL STDCALL FORM_OnRButtonDown(FPDF_FORMHANDLE hHandle,
FPDF_PAGE page,
int modifier,
@@ -1222,6 +1240,7 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_OnRButtonUp(FPDF_FORMHANDLE hHandle,
int modifier,
double page_x,
double page_y);
+#endif // PDF_ENABLE_XFA
/**
* Function: FORM_OnKeyDown
@@ -1303,7 +1322,9 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle);
#define FPDF_FORMFIELD_COMBOBOX 4 // combo box type.
#define FPDF_FORMFIELD_LISTBOX 5 // list box type.
#define FPDF_FORMFIELD_TEXTFIELD 6 // text field type.
+#ifdef PDF_ENABLE_XFA
#define FPDF_FORMFIELD_XFA 7 // text field type.
+#endif // PDF_ENABLE_XFA
/**
* Function: FPDFPage_HasFormFieldAtPoint
@@ -1451,6 +1472,8 @@ DLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle,
int size_y,
int rotate,
int flags);
+
+#ifdef PDF_ENABLE_XFA
/**
* Function: FPDF_HasXFAField
* This method is designed to check whether a pdf document
@@ -1663,6 +1686,7 @@ DLLEXPORT FPDF_BOOL STDCALL
FPDF_StringHandleAddString(FPDF_STRINGHANDLE stringHandle,
FPDF_BYTESTRING bsText,
FPDF_DWORD size);
+#endif // PDF_ENABLE_XFA
#ifdef __cplusplus
}
diff --git a/public/fpdfview.h b/public/fpdfview.h
index d5c5a32542..873129250a 100644
--- a/public/fpdfview.h
+++ b/public/fpdfview.h
@@ -14,42 +14,49 @@
#include <windows.h>
#endif
+#ifdef PDF_ENABLE_XFA
// TODO: remove the #define when XFA is officially in pdfium
#define PDF_USE_XFA
-
-// Data types
-typedef void* FPDF_MODULEMGR;
+#endif // PDF_ENABLE_XFA
// PDF types
-typedef void* FPDF_DOCUMENT;
-typedef void* FPDF_PAGE;
-typedef void* FPDF_WIDGET;
-typedef void* FPDF_STRINGHANDLE;
-typedef void* FPDF_PAGEOBJECT; // Page object(text, path, etc)
-typedef void* FPDF_PATH;
-typedef void* FPDF_CLIPPATH;
+typedef void* FPDF_ACTION;
typedef void* FPDF_BITMAP;
-typedef void* FPDF_FONT;
-typedef void* FPDF_TEXTPAGE;
-typedef void* FPDF_SCHHANDLE;
-typedef void* FPDF_PAGELINK;
-typedef void* FPDF_HMODULE;
-typedef void* FPDF_DOCSCHHANDLE;
typedef void* FPDF_BOOKMARK;
+typedef void* FPDF_CLIPPATH;
typedef void* FPDF_DEST;
-typedef void* FPDF_ACTION;
+typedef void* FPDF_DOCSCHHANDLE;
+typedef void* FPDF_DOCUMENT;
+typedef void* FPDF_FONT;
+typedef void* FPDF_HMODULE;
typedef void* FPDF_LINK;
+typedef void* FPDF_MODULEMGR;
+typedef void* FPDF_PAGE;
+typedef void* FPDF_PAGELINK;
+typedef void* FPDF_PAGEOBJECT; // Page object(text, path, etc)
typedef void* FPDF_PAGERANGE;
+typedef void* FPDF_PATH;
+typedef void* FPDF_SCHHANDLE;
+typedef void* FPDF_TEXTPAGE;
+
+#ifdef PDF_ENABLE_XFA
+typedef void* FPDF_STRINGHANDLE;
+typedef void* FPDF_WIDGET;
+#endif // PDF_ENABLE_XFA
// Basic data types
-typedef void* FPDF_LPVOID;
-typedef void const* FPDF_LPCVOID;
-typedef int FPDF_RESULT;
typedef int FPDF_BOOL;
typedef int FPDF_ERROR;
typedef unsigned long FPDF_DWORD;
typedef float FS_FLOAT;
+#ifdef PDF_ENABLE_XFA
+typedef void* FPDF_LPVOID;
+typedef void const* FPDF_LPCVOID;
+typedef char const* FPDF_LPCSTR;
+typedef int FPDF_RESULT;
+#endif
+
// Duplex types
typedef enum _FPDF_DUPLEXTYPE_ {
DuplexUndefined = 0,
@@ -61,7 +68,6 @@ typedef enum _FPDF_DUPLEXTYPE_ {
// String types
typedef unsigned short FPDF_WCHAR;
typedef unsigned char const* FPDF_LPCBYTE;
-typedef char const* FPDF_LPCSTR;
// FPDFSDK may use three types of strings: byte string, wide string (UTF-16LE
// encoded), and platform dependent string
@@ -71,8 +77,7 @@ typedef const char* FPDF_BYTESTRING;
// bytes (except surrogation), with the low byte first.
typedef const unsigned short* FPDF_WIDESTRING;
-#ifndef _FPDF_DEF_STR_
-#define _FPDF_DEF_STR_
+#ifdef PDF_ENABLE_XFA
// Structure for a byte string.
// Note, a byte string commonly means a UTF-16LE formated string.
typedef struct _FPDF_BSTR {
@@ -81,8 +86,7 @@ typedef struct _FPDF_BSTR {
// Length of the string, in bytes.
int len;
} FPDF_BSTR;
-
-#endif
+#endif // PDF_ENABLE_XFA
// For Windows programmers: In most cases it's OK to treat FPDF_WIDESTRING as a
// Windows unicode string, however, special care needs to be taken if you
@@ -91,7 +95,6 @@ typedef struct _FPDF_BSTR {
// For Linux/Unix programmers: most compiler/library environments use 4 bytes
// for a Unicode character, and you have to convert between FPDF_WIDESTRING and
// system wide string by yourself.
-
#ifdef _WIN32_WCE
typedef const unsigned short* FPDF_STRING;
#else
@@ -222,9 +225,6 @@ DLLEXPORT void STDCALL FPDF_SetSandBoxPolicy(FPDF_DWORD policy,
// Loaded document can be closed by FPDF_CloseDocument().
// If this function fails, you can use FPDF_GetLastError() to retrieve
// the reason why it failed.
-// Notes:
-// The application should call FPDF_LoadXFA function after PDF
-// document loaded to support XFA fields in fpdfformfill.h file.
DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadDocument(FPDF_STRING file_path,
FPDF_BYTESTRING password);
@@ -243,8 +243,9 @@ DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadDocument(FPDF_STRING file_path,
// If this function fails, you can use FPDF_GetLastError() to retrieve
// the reason why it failed.
// Notes:
-// The application should call FPDF_LoadXFA function after the
-// document is loaded to support form fields.
+// If PDFium is built with the XFA module, the application should call
+// FPDF_LoadXFA() function after the PDF document loaded to support XFA
+// fields defined in the fpdfformfill.h file.
DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadMemDocument(const void* data_buf,
int size,
FPDF_BYTESTRING password);
@@ -270,6 +271,7 @@ typedef struct {
void* m_Param;
} FPDF_FILEACCESS;
+#ifdef PDF_ENABLE_XFA
/**
* @brief Structure for file reading or writing (I/O).
*
@@ -349,6 +351,7 @@ typedef struct _FPDF_FILEHANDLER {
} FPDF_FILEHANDLER, *FPDF_LPFILEHANDLER;
+#endif
// Function: FPDF_LoadCustomDocument
// Load PDF document from a custom access descriptor.
// Parameters:
@@ -362,8 +365,9 @@ typedef struct _FPDF_FILEHANDLER {
//
// The loaded document can be closed with FPDF_CloseDocument.
// Notes:
-// The application should call the FPDF_LoadXFA function after the
-// document is loaded to support form fields.
+// If PDFium is built with the XFA module, the application should call
+// FPDF_LoadXFA() function after the PDF document loaded to support XFA
+// fields defined in the fpdfformfill.h file.
DLLEXPORT FPDF_DOCUMENT STDCALL
FPDF_LoadCustomDocument(FPDF_FILEACCESS* pFileAccess, FPDF_BYTESTRING password);
@@ -388,8 +392,10 @@ DLLEXPORT FPDF_BOOL STDCALL FPDF_GetFileVersion(FPDF_DOCUMENT doc,
#define FPDF_ERR_PASSWORD 4 // Password required or incorrect password.
#define FPDF_ERR_SECURITY 5 // Unsupported security scheme.
#define FPDF_ERR_PAGE 6 // Page not found or content error.
+#ifdef PDF_ENABLE_XFA
#define FPDF_ERR_XFALOAD 7 // Load XFA error.
#define FPDF_ERR_XFALAYOUT 8 // Layout XFA error.
+#endif // PDF_ENABLE_XFA
// Function: FPDF_GetLastError
// Get last error code when a function fails.
@@ -912,6 +918,7 @@ DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document,
void* buffer,
long* buflen);
+#ifdef PDF_ENABLE_XFA
// Function: FPDF_BStr_Init
// Helper function to initialize a byte string.
DLLEXPORT FPDF_RESULT STDCALL FPDF_BStr_Init(FPDF_BSTR* str);
@@ -925,6 +932,7 @@ DLLEXPORT FPDF_RESULT STDCALL FPDF_BStr_Set(FPDF_BSTR* str,
// Function: FPDF_BStr_Clear
// Helper function to clear a byte string.
DLLEXPORT FPDF_RESULT STDCALL FPDF_BStr_Clear(FPDF_BSTR* str);
+#endif // PDF_ENABLE_XFA
#ifdef __cplusplus
}