| Index: public/fpdfview.h
|
| diff --git a/public/fpdfview.h b/public/fpdfview.h
|
| index d5c5a325424a85467b32afc543739f76e168a5f4..873129250a42a19e3b1b44fa00f485acf7ce94dd 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
|
| }
|
|
|