| Index: xfa/include/fxfa/fxfa.h
|
| diff --git a/xfa/include/fxfa/fxfa.h b/xfa/include/fxfa/fxfa.h
|
| index 503909a1c48b89efb2cf9c22436df3c711e0adc9..5c0f63619e7d685f38d9168337681b0c9c44a539 100644
|
| --- a/xfa/include/fxfa/fxfa.h
|
| +++ b/xfa/include/fxfa/fxfa.h
|
| @@ -1,845 +1,845 @@
|
| -// Copyright 2014 PDFium Authors. All rights reserved.
|
| -// 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 FXFA_H_
|
| -#define FXFA_H_
|
| -
|
| -class CFX_Graphics;
|
| -class CPDF_Document;
|
| -class CXFA_Node;
|
| -class CXFA_NodeList;
|
| -class CXFA_WidgetAcc;
|
| -class IFDE_XMLElement;
|
| -class IFWL_AdapterTimerMgr;
|
| -class IFX_Font;
|
| -class IXFA_App;
|
| -class IXFA_AppProvider;
|
| -class IXFA_ChecksumContext;
|
| -class IXFA_DocHandler;
|
| -class IXFA_DocProvider;
|
| -class IXFA_DocView;
|
| -class IXFA_FontMgr;
|
| -class IXFA_MenuHandler;
|
| -class IXFA_PageView;
|
| -class IXFA_PageViewRender;
|
| -class IXFA_WidgetAccIterator;
|
| -class IXFA_WidgetHandler;
|
| -class IXFA_WidgetIterator;
|
| -
|
| -class IXFA_Doc {
|
| - public:
|
| - virtual ~IXFA_Doc() {}
|
| -
|
| - protected:
|
| - IXFA_Doc() {}
|
| -};
|
| -
|
| -class IXFA_Widget {
|
| - public:
|
| - virtual ~IXFA_Widget() {}
|
| -
|
| - protected:
|
| - IXFA_Widget() {}
|
| -};
|
| -
|
| -#include "fxfa_basic.h"
|
| -#include "fxfa_widget.h"
|
| -#define XFA_MBICON_Error 0
|
| -#define XFA_MBICON_Warning 1
|
| -#define XFA_MBICON_Question 2
|
| -#define XFA_MBICON_Status 3
|
| -#define XFA_MB_OK 0
|
| -#define XFA_MB_OKCancel 1
|
| -#define XFA_MB_YesNo 2
|
| -#define XFA_MB_YesNoCancel 3
|
| -#define XFA_IDOK 1
|
| -#define XFA_IDCancel 2
|
| -#define XFA_IDNo 3
|
| -#define XFA_IDYes 4
|
| -#define XFA_IDS_ValidateFailed 1
|
| -#define XFA_IDS_CalcOverride 2
|
| -#define XFA_IDS_ModifyField 3
|
| -#define XFA_IDS_NotModifyField 4
|
| -#define XFA_IDS_AppName 5
|
| -#define XFA_IDS_ImageFilter 6
|
| -#define XFA_IDS_UNKNOW_CATCHED 7
|
| -#define XFA_IDS_Unable_TO_SET 8
|
| -#define XFA_IDS_VALUE_EXCALMATORY 9
|
| -#define XFA_IDS_INVALID_ENUM_VALUE 10
|
| -#define XFA_IDS_UNSUPPORT_METHOD 11
|
| -#define XFA_IDS_UNSUPPORT_PROP 12
|
| -#define XFA_IDS_INVAlID_PROP_SET 13
|
| -#define XFA_IDS_NOT_DEFAUL_VALUE 14
|
| -#define XFA_IDS_UNABLE_SET_LANGUAGE 15
|
| -#define XFA_IDS_UNABLE_SET_NUMPAGES 16
|
| -#define XFA_IDS_UNABLE_SET_PLATFORM 17
|
| -#define XFA_IDS_UNABLE_SET_VALIDATIONENABLE 18
|
| -#define XFA_IDS_UNABLE_SET_VARIATION 19
|
| -#define XFA_IDS_UNABLE_SET_VERSION 20
|
| -#define XFA_IDS_UNABLE_SET_READY 21
|
| -#define XFA_IDS_NUMBER_OF_OCCUR 22
|
| -#define XFA_IDS_UNABLE_SET_CLASS_NAME 23
|
| -#define XFA_IDS_UNABLE_SET_LENGTH_VALUE 24
|
| -#define XFA_IDS_UNSUPPORT_CHAR 25
|
| -#define XFA_IDS_BAD_SUFFIX 26
|
| -#define XFA_IDS_EXPECTED_IDENT 27
|
| -#define XFA_IDS_EXPECTED_STRING 28
|
| -#define XFA_IDS_INVALIDATE_CHAR 29
|
| -#define XFA_IDS_REDEFINITION 30
|
| -#define XFA_IDS_INVALIDATE_TOKEN 31
|
| -#define XFA_IDS_INVALIDATE_EXPRESSION 32
|
| -#define XFA_IDS_UNDEFINE_IDENTIFIER 33
|
| -#define XFA_IDS_INVALIDATE_LEFTVALUE 34
|
| -#define XFA_IDS_COMPILER_ERROR 35
|
| -#define XFA_IDS_CANNOT_MODIFY_VALUE 36
|
| -#define XFA_IDS_ERROR_PARAMETERS 37
|
| -#define XFA_IDS_EXPECT_ENDIF 38
|
| -#define XFA_IDS_UNEXPECTED_EXPRESSION 39
|
| -#define XFA_IDS_CONDITION_IS_NULL 40
|
| -#define XFA_IDS_ILLEGALBREAK 41
|
| -#define XFA_IDS_ILLEGALCONTINUE 42
|
| -#define XFA_IDS_EXPECTED_OPERATOR 43
|
| -#define XFA_IDS_DIVIDE_ZERO 44
|
| -#define XFA_IDS_CANNOT_COVERT_OBJECT 45
|
| -#define XFA_IDS_NOT_FOUND_CONTAINER 46
|
| -#define XFA_IDS_NOT_FOUND_PROPERTY 47
|
| -#define XFA_IDS_NOT_FOUND_METHOD 48
|
| -#define XFA_IDS_NOT_FOUND_CONST 49
|
| -#define XFA_IDS_NOT_ASSIGN_OBJECT 50
|
| -#define XFA_IDS_IVALIDATE_INSTRUCTION 51
|
| -#define XFA_IDS_EXPECT_NUMBER 52
|
| -#define XFA_IDS_VALIDATE_OUT_ARRAY 53
|
| -#define XFA_IDS_CANNOT_ASSIGN_IDENT 54
|
| -#define XFA_IDS_NOT_FOUNT_FUNCTION 55
|
| -#define XFA_IDS_NOT_ARRAY 56
|
| -#define XFA_IDS_OUT_ARRAY 57
|
| -#define XFA_IDS_NOT_SUPPORT_CALC 58
|
| -#define XFA_IDS_ARGUMENT_NOT_ARRAY 59
|
| -#define XFA_IDS_ARGUMENT_EXPECT_CONTAINER 60
|
| -#define XFA_IDS_ACCESS_PROPERTY_IN_NOT_OBJECT 61
|
| -#define XFA_IDS_FUNCTION_IS_BUILDIN 62
|
| -#define XFA_IDS_ERROR_MSG 63
|
| -#define XFA_IDS_INDEX_OUT_OF_BOUNDS 64
|
| -#define XFA_IDS_INCORRECT_NUMBER_OF_METHOD 65
|
| -#define XFA_IDS_ARGUMENT_MISMATCH 66
|
| -#define XFA_IDS_INVALID_ENUMERATE 67
|
| -#define XFA_IDS_INVALID_APPEND 68
|
| -#define XFA_IDS_SOM_EXPECTED_LIST 69
|
| -#define XFA_IDS_NOT_HAVE_PROPERTY 70
|
| -#define XFA_IDS_INVALID_NODE_TYPE 71
|
| -#define XFA_IDS_VIOLATE_BOUNDARY 72
|
| -#define XFA_IDS_SERVER_DENY 73
|
| -#define XFA_IDS_StringWeekDay_Sun 74
|
| -#define XFA_IDS_StringWeekDay_Mon 75
|
| -#define XFA_IDS_StringWeekDay_Tue 76
|
| -#define XFA_IDS_StringWeekDay_Wed 77
|
| -#define XFA_IDS_StringWeekDay_Thu 78
|
| -#define XFA_IDS_StringWeekDay_Fri 79
|
| -#define XFA_IDS_StringWeekDay_Sat 80
|
| -#define XFA_IDS_StringMonth_Jan 81
|
| -#define XFA_IDS_StringMonth_Feb 82
|
| -#define XFA_IDS_StringMonth_March 83
|
| -#define XFA_IDS_StringMonth_April 84
|
| -#define XFA_IDS_StringMonth_May 85
|
| -#define XFA_IDS_StringMonth_June 86
|
| -#define XFA_IDS_StringMonth_July 87
|
| -#define XFA_IDS_StringMonth_Aug 88
|
| -#define XFA_IDS_StringMonth_Sept 89
|
| -#define XFA_IDS_StringMonth_Oct 90
|
| -#define XFA_IDS_StringMonth_Nov 91
|
| -#define XFA_IDS_StringMonth_Dec 92
|
| -#define XFA_IDS_String_Today 93
|
| -#define XFA_IDS_ValidateLimit 94
|
| -#define XFA_IDS_ValidateNullWarning 95
|
| -#define XFA_IDS_ValidateNullError 96
|
| -#define XFA_IDS_ValidateWarning 97
|
| -#define XFA_IDS_ValidateError 98
|
| -#define XFA_IDS_ValidateNumberError 99
|
| -
|
| -// Probably should be called IXFA_AppDelegate.
|
| -class IXFA_AppProvider {
|
| - public:
|
| - virtual ~IXFA_AppProvider() {}
|
| -
|
| - /**
|
| - * Specifies the name of the client application in which a form currently
|
| - * exists. Such as Exchange-Pro.
|
| - */
|
| - virtual void SetAppType(const CFX_WideStringC& wsAppType) = 0;
|
| - virtual void GetAppType(CFX_WideString& wsAppType) = 0;
|
| - virtual void SetFoxitAppType(const CFX_WideStringC& wsFoxitAppType) {}
|
| - virtual void GetFoxitAppType(CFX_WideString& wsFoxitAppType) {
|
| - wsFoxitAppType.Empty();
|
| - }
|
| -
|
| - /**
|
| - * Returns the language of the running host application. Such as zh_CN
|
| - */
|
| - virtual void GetLanguage(CFX_WideString& wsLanguage) = 0;
|
| -
|
| - /**
|
| - * Returns the platform of the machine running the script. Such as WIN
|
| - */
|
| - virtual void GetPlatform(CFX_WideString& wsPlatform) = 0;
|
| -
|
| - /**
|
| - * Indicates the packaging of the application that is running the script. Such
|
| - * as Full
|
| - */
|
| - virtual void GetVariation(CFX_WideString& wsVariation) = 0;
|
| -
|
| - /**
|
| - * Indicates the version number of the current application. Such as 9
|
| - */
|
| - virtual void GetVersion(CFX_WideString& wsVersion) = 0;
|
| - virtual void GetFoxitVersion(CFX_WideString& wsFoxitVersion) {
|
| - wsFoxitVersion.Empty();
|
| - }
|
| -
|
| - /**
|
| - * Get application name, such as Phantom.
|
| - */
|
| - virtual void GetAppName(CFX_WideString& wsName) = 0;
|
| - virtual void GetFoxitAppName(CFX_WideString& wsFoxitName) {
|
| - wsFoxitName.Empty();
|
| - }
|
| -
|
| - /**
|
| - * Causes the system to play a sound.
|
| - * @param[in] dwType The system code for the appropriate sound.0 (Error)1
|
| - * (Warning)2 (Question)3 (Status)4 (Default)
|
| - */
|
| - virtual void Beep(FX_DWORD dwType) = 0;
|
| -
|
| - /**
|
| - * Displays a message box.
|
| - * @param[in] dwIconType Icon type, refer to XFA_MBICON.
|
| - * @param[in] dwButtonType Button type, refer to XFA_MESSAGEBUTTON.
|
| - * @return A valid integer representing the value of the button pressed by the
|
| - * user, refer to XFA_ID.
|
| - */
|
| - virtual int32_t MsgBox(const CFX_WideStringC& wsMessage,
|
| - const CFX_WideStringC& wsTitle = FX_WSTRC(L""),
|
| - FX_DWORD dwIconType = 0,
|
| - FX_DWORD dwButtonType = 0) = 0;
|
| -
|
| - /**
|
| - * Get a response from the user.
|
| - * @param[in] bMark - Mask the user input with * (asterisks) when true,
|
| - */
|
| - virtual void Response(CFX_WideString& wsAnswer,
|
| - const CFX_WideStringC& wsQuestion,
|
| - const CFX_WideStringC& wsTitle = FX_WSTRC(L""),
|
| - const CFX_WideStringC& wsDefaultAnswer = FX_WSTRC(L""),
|
| - FX_BOOL bMark = TRUE) = 0;
|
| -
|
| - virtual int32_t GetDocumentCountInBatch() = 0;
|
| - virtual int32_t GetCurDocumentInBatch() = 0;
|
| -
|
| - /**
|
| - * Download something from somewhere.
|
| - * @param[in] wsURL - http, ftp, such as
|
| - * "http://www.w3.org/TR/REC-xml-names/".
|
| - */
|
| - virtual IFX_FileRead* DownloadURL(const CFX_WideStringC& wsURL) = 0;
|
| -
|
| - /**
|
| - * POST data to the given url.
|
| - * @param[in] wsURL the URL being uploaded.
|
| - * @param[in] wsData the data being uploaded.
|
| - * @param[in] wsContentType the content type of data including text/html,
|
| - * text/xml, text/plain, multipart/form-data,
|
| - * application/x-www-form-urlencoded,
|
| - * application/octet-stream, any valid MIME type.
|
| - * @param[in] wsEncode the encode of data including UTF-8, UTF-16,
|
| - * ISO8859-1, any recognized [IANA]character encoding
|
| - * @param[in] wsHeader any additional HTTP headers to be included in the
|
| - * post.
|
| - * @param[out] wsResponse decoded response from server.
|
| - * @return TRUE Server permitted the post request, FALSE otherwise.
|
| - */
|
| - virtual FX_BOOL PostRequestURL(const CFX_WideStringC& wsURL,
|
| - const CFX_WideStringC& wsData,
|
| - const CFX_WideStringC& wsContentType,
|
| - const CFX_WideStringC& wsEncode,
|
| - const CFX_WideStringC& wsHeader,
|
| - CFX_WideString& wsResponse) = 0;
|
| -
|
| - /**
|
| - * PUT data to the given url.
|
| - * @param[in] wsURL the URL being uploaded.
|
| - * @param[in] wsData the data being uploaded.
|
| - * @param[in] wsEncode the encode of data including UTF-8, UTF-16,
|
| - * ISO8859-1, any recognized [IANA]character encoding
|
| - * @return TRUE Server permitted the post request, FALSE otherwise.
|
| - */
|
| - virtual FX_BOOL PutRequestURL(const CFX_WideStringC& wsURL,
|
| - const CFX_WideStringC& wsData,
|
| - const CFX_WideStringC& wsEncode) = 0;
|
| -
|
| - virtual void LoadString(int32_t iStringID, CFX_WideString& wsString) = 0;
|
| - virtual FX_BOOL ShowFileDialog(const CFX_WideStringC& wsTitle,
|
| - const CFX_WideStringC& wsFilter,
|
| - CFX_WideStringArray& wsPathArr,
|
| - FX_BOOL bOpen = TRUE) = 0;
|
| - virtual IFWL_AdapterTimerMgr* GetTimerMgr() = 0;
|
| -};
|
| -class IXFA_FontMgr {
|
| - public:
|
| - static IXFA_FontMgr* CreateDefault();
|
| - virtual ~IXFA_FontMgr();
|
| -
|
| - virtual IFX_Font* GetFont(IXFA_Doc* hDoc,
|
| - const CFX_WideStringC& wsFontFamily,
|
| - FX_DWORD dwFontStyles,
|
| - FX_WORD wCodePage = 0xFFFF) = 0;
|
| - virtual IFX_Font* GetDefaultFont(IXFA_Doc* hDoc,
|
| - const CFX_WideStringC& wsFontFamily,
|
| - FX_DWORD dwFontStyles,
|
| - FX_WORD wCodePage = 0xFFFF) = 0;
|
| -};
|
| -class IXFA_App {
|
| - public:
|
| - static IXFA_App* Create(IXFA_AppProvider* pProvider);
|
| - virtual ~IXFA_App();
|
| -
|
| - virtual IXFA_DocHandler* GetDocHandler() = 0;
|
| - virtual IXFA_Doc* CreateDoc(IXFA_DocProvider* pProvider,
|
| - IFX_FileRead* pStream,
|
| - FX_BOOL bTakeOverFile = TRUE) = 0;
|
| - virtual IXFA_Doc* CreateDoc(IXFA_DocProvider* pProvider,
|
| - CPDF_Document* pPDFDoc) = 0;
|
| - virtual IXFA_AppProvider* GetAppProvider() = 0;
|
| - virtual void SetDefaultFontMgr(IXFA_FontMgr* pFontMgr) = 0;
|
| - virtual IXFA_MenuHandler* GetMenuHandler() = 0;
|
| -};
|
| -class IXFA_MenuHandler {
|
| - public:
|
| - virtual ~IXFA_MenuHandler() {}
|
| -
|
| - virtual FX_BOOL CanCopy(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanCut(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanPaste(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanSelectAll(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanDelete(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanDeSelect(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL Copy(IXFA_Widget* hWidget, CFX_WideString& wsText) = 0;
|
| - virtual FX_BOOL Cut(IXFA_Widget* hWidget, CFX_WideString& wsText) = 0;
|
| - virtual FX_BOOL Paste(IXFA_Widget* hWidget, const CFX_WideString& wsText) = 0;
|
| - virtual FX_BOOL SelectAll(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL Delete(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL DeSelect(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanUndo(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL CanRedo(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL Undo(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL Redo(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL GetSuggestWords(IXFA_Widget* hWidget,
|
| - CFX_PointF pointf,
|
| - CFX_ByteStringArray& sSuggest) = 0;
|
| - virtual FX_BOOL ReplaceSpellCheckWord(IXFA_Widget* hWidget,
|
| - CFX_PointF pointf,
|
| - const CFX_ByteStringC& bsReplace) = 0;
|
| -};
|
| -#define XFA_INVALIDATE_AllPages 0x00000000
|
| -#define XFA_INVALIDATE_CurrentPage 0x00000001
|
| -#define XFA_PRINTOPT_ShowDialog 0x00000001
|
| -#define XFA_PRINTOPT_CanCancel 0x00000002
|
| -#define XFA_PRINTOPT_ShrinkPage 0x00000004
|
| -#define XFA_PRINTOPT_AsImage 0x00000008
|
| -#define XFA_PRINTOPT_ReverseOrder 0x00000010
|
| -#define XFA_PRINTOPT_PrintAnnot 0x00000020
|
| -#define XFA_PAGEVIEWEVENT_PostAdded 1
|
| -#define XFA_PAGEVIEWEVENT_PostRemoved 3
|
| -#define XFA_WIDGETEVENT_PostAdded 2
|
| -#define XFA_WIDGETEVENT_PreRemoved 3
|
| -#define XFA_WIDGETEVENT_PostContentChanged 6
|
| -#define XFA_WIDGETEVENT_ListItemRemoved 7
|
| -#define XFA_WIDGETEVENT_ListItemAdded 8
|
| -#define XFA_WIDGETEVENT_AccessChanged 9
|
| -class IXFA_DocProvider {
|
| - public:
|
| - virtual ~IXFA_DocProvider() {}
|
| -
|
| - virtual void SetChangeMark(IXFA_Doc* hDoc) = 0;
|
| - virtual void InvalidateRect(IXFA_PageView* pPageView,
|
| - const CFX_RectF& rt,
|
| - FX_DWORD dwFlags = 0) = 0;
|
| - virtual void DisplayCaret(IXFA_Widget* hWidget,
|
| - FX_BOOL bVisible,
|
| - const CFX_RectF* pRtAnchor) = 0;
|
| - virtual FX_BOOL GetPopupPos(IXFA_Widget* hWidget,
|
| - FX_FLOAT fMinPopup,
|
| - FX_FLOAT fMaxPopup,
|
| - const CFX_RectF& rtAnchor,
|
| - CFX_RectF& rtPopup) = 0;
|
| - virtual FX_BOOL PopupMenu(IXFA_Widget* hWidget,
|
| - CFX_PointF ptPopup,
|
| - const CFX_RectF* pRectExclude = NULL) = 0;
|
| - virtual void PageViewEvent(IXFA_PageView* pPageView, FX_DWORD dwFlags) = 0;
|
| - virtual void WidgetEvent(IXFA_Widget* hWidget,
|
| - CXFA_WidgetAcc* pWidgetData,
|
| - FX_DWORD dwEvent,
|
| - void* pParam = NULL,
|
| - void* pAdditional = NULL) = 0;
|
| - virtual FX_BOOL RenderCustomWidget(IXFA_Widget* hWidget,
|
| - CFX_Graphics* pGS,
|
| - CFX_Matrix* pMatrix,
|
| - const CFX_RectF& rtUI) {
|
| - return FALSE;
|
| - }
|
| - virtual int32_t CountPages(IXFA_Doc* hDoc) = 0;
|
| - virtual int32_t GetCurrentPage(IXFA_Doc* hDoc) = 0;
|
| - virtual void SetCurrentPage(IXFA_Doc* hDoc, int32_t iCurPage) = 0;
|
| - virtual FX_BOOL IsCalculationsEnabled(IXFA_Doc* hDoc) = 0;
|
| - virtual void SetCalculationsEnabled(IXFA_Doc* hDoc, FX_BOOL bEnabled) = 0;
|
| - virtual void GetTitle(IXFA_Doc* hDoc, CFX_WideString& wsTitle) = 0;
|
| - virtual void SetTitle(IXFA_Doc* hDoc, const CFX_WideStringC& wsTitle) = 0;
|
| - virtual void ExportData(IXFA_Doc* hDoc,
|
| - const CFX_WideStringC& wsFilePath,
|
| - FX_BOOL bXDP = TRUE) = 0;
|
| - virtual void ImportData(IXFA_Doc* hDoc,
|
| - const CFX_WideStringC& wsFilePath) = 0;
|
| - virtual void GotoURL(IXFA_Doc* hDoc,
|
| - const CFX_WideStringC& bsURL,
|
| - FX_BOOL bAppend = TRUE) = 0;
|
| - virtual FX_BOOL IsValidationsEnabled(IXFA_Doc* hDoc) = 0;
|
| - virtual void SetValidationsEnabled(IXFA_Doc* hDoc, FX_BOOL bEnabled) = 0;
|
| - virtual void SetFocusWidget(IXFA_Doc* hDoc, IXFA_Widget* hWidget) = 0;
|
| - virtual void Print(IXFA_Doc* hDoc,
|
| - int32_t nStartPage,
|
| - int32_t nEndPage,
|
| - FX_DWORD dwOptions) = 0;
|
| - virtual int32_t AbsPageCountInBatch(IXFA_Doc* hDoc) = 0;
|
| - virtual int32_t AbsPageInBatch(IXFA_Doc* hDoc, IXFA_Widget* hWidget) = 0;
|
| - virtual int32_t SheetCountInBatch(IXFA_Doc* hDoc) = 0;
|
| - virtual int32_t SheetInBatch(IXFA_Doc* hDoc, IXFA_Widget* hWidget) = 0;
|
| - virtual int32_t Verify(IXFA_Doc* hDoc,
|
| - CXFA_Node* pSigNode,
|
| - FX_BOOL bUsed = TRUE) {
|
| - return 0;
|
| - }
|
| - virtual FX_BOOL Sign(IXFA_Doc* hDoc,
|
| - CXFA_NodeList* pNodeList,
|
| - const CFX_WideStringC& wsExpression,
|
| - const CFX_WideStringC& wsXMLIdent,
|
| - const CFX_WideStringC& wsValue = FX_WSTRC(L"open"),
|
| - FX_BOOL bUsed = TRUE) {
|
| - return 0;
|
| - }
|
| - virtual CXFA_NodeList* Enumerate(IXFA_Doc* hDoc) { return 0; }
|
| - virtual FX_BOOL Clear(IXFA_Doc* hDoc,
|
| - CXFA_Node* pSigNode,
|
| - FX_BOOL bCleared = TRUE) {
|
| - return 0;
|
| - }
|
| - virtual void GetURL(IXFA_Doc* hDoc, CFX_WideString& wsDocURL) = 0;
|
| - virtual FX_ARGB GetHighlightColor(IXFA_Doc* hDoc) = 0;
|
| - virtual void AddDoRecord(IXFA_Widget* hWidget) = 0;
|
| -
|
| - virtual FX_BOOL SubmitData(IXFA_Doc* hDoc, CXFA_Submit submit) = 0;
|
| - virtual FX_BOOL CheckWord(IXFA_Doc* hDoc, const CFX_ByteStringC& sWord) = 0;
|
| - virtual FX_BOOL GetSuggestWords(IXFA_Doc* hDoc,
|
| - const CFX_ByteStringC& sWord,
|
| - CFX_ByteStringArray& sSuggest) = 0;
|
| - virtual FX_BOOL GetPDFScriptObject(IXFA_Doc* hDoc,
|
| - const CFX_ByteStringC& utf8Name,
|
| - FXJSE_HVALUE hValue) = 0;
|
| - virtual FX_BOOL GetGlobalProperty(IXFA_Doc* hDoc,
|
| - const CFX_ByteStringC& szPropName,
|
| - FXJSE_HVALUE hValue) = 0;
|
| - virtual FX_BOOL SetGlobalProperty(IXFA_Doc* hDoc,
|
| - const CFX_ByteStringC& szPropName,
|
| - FXJSE_HVALUE hValue) = 0;
|
| - virtual CPDF_Document* OpenPDF(IXFA_Doc* hDoc,
|
| - IFX_FileRead* pFile,
|
| - FX_BOOL bTakeOverFile) = 0;
|
| - virtual IFX_FileRead* OpenLinkedFile(IXFA_Doc* hDoc,
|
| - const CFX_WideString& wsLink) = 0;
|
| -};
|
| -#define XFA_DOCVIEW_View 0x00000000
|
| -#define XFA_DOCVIEW_MasterPage 0x00000001
|
| -#define XFA_DOCVIEW_Design 0x00000002
|
| -#define XFA_DOCTYPE_Dynamic 0
|
| -#define XFA_DOCTYPE_Static 1
|
| -#define XFA_DOCTYPE_XDP 2
|
| -#define XFA_PARSESTATUS_StatusErr -3
|
| -#define XFA_PARSESTATUS_StreamErr -2
|
| -#define XFA_PARSESTATUS_SyntaxErr -1
|
| -#define XFA_PARSESTATUS_Ready 0
|
| -#define XFA_PARSESTATUS_Done 100
|
| -class IXFA_DocHandler {
|
| - public:
|
| - virtual ~IXFA_DocHandler() {}
|
| -
|
| - virtual void ReleaseDoc(IXFA_Doc* hDoc) = 0;
|
| - virtual IXFA_DocProvider* GetDocProvider(IXFA_Doc* hDoc) = 0;
|
| -
|
| - virtual FX_DWORD GetDocType(IXFA_Doc* hDoc) = 0;
|
| - virtual int32_t StartLoad(IXFA_Doc* hDoc) = 0;
|
| - virtual int32_t DoLoad(IXFA_Doc* hDoc, IFX_Pause* pPause = NULL) = 0;
|
| - virtual void StopLoad(IXFA_Doc* hDoc) = 0;
|
| -
|
| - virtual IXFA_DocView* CreateDocView(IXFA_Doc* hDoc, FX_DWORD dwView = 0) = 0;
|
| -
|
| - virtual int32_t CountPackages(IXFA_Doc* hDoc) = 0;
|
| - virtual void GetPackageName(IXFA_Doc* hDoc,
|
| - int32_t iPackage,
|
| - CFX_WideStringC& wsPackage) = 0;
|
| -
|
| - virtual FX_BOOL SavePackage(IXFA_Doc* hDoc,
|
| - const CFX_WideStringC& wsPackage,
|
| - IFX_FileWrite* pFile,
|
| - IXFA_ChecksumContext* pCSContext = NULL) = 0;
|
| - virtual FX_BOOL CloseDoc(IXFA_Doc* hDoc) = 0;
|
| -
|
| - virtual FX_BOOL ImportData(IXFA_Doc* hDoc,
|
| - IFX_FileRead* pStream,
|
| - FX_BOOL bXDP = TRUE) = 0;
|
| - virtual void SetJSERuntime(IXFA_Doc* hDoc, FXJSE_HRUNTIME hRuntime) = 0;
|
| - virtual FXJSE_HVALUE GetXFAScriptObject(IXFA_Doc* hDoc) = 0;
|
| - virtual XFA_ATTRIBUTEENUM GetRestoreState(IXFA_Doc* hDoc) = 0;
|
| - virtual FX_BOOL RunDocScript(IXFA_Doc* hDoc,
|
| - XFA_SCRIPTTYPE eScriptType,
|
| - const CFX_WideStringC& wsScript,
|
| - FXJSE_HVALUE hRetValue,
|
| - FXJSE_HVALUE hThisObject) = 0;
|
| -};
|
| -enum XFA_EVENTTYPE {
|
| - XFA_EVENT_Click,
|
| - XFA_EVENT_Change,
|
| - XFA_EVENT_DocClose,
|
| - XFA_EVENT_DocReady,
|
| - XFA_EVENT_Enter,
|
| - XFA_EVENT_Exit,
|
| - XFA_EVENT_Full,
|
| - XFA_EVENT_IndexChange,
|
| - XFA_EVENT_Initialize,
|
| - XFA_EVENT_MouseDown,
|
| - XFA_EVENT_MouseEnter,
|
| - XFA_EVENT_MouseExit,
|
| - XFA_EVENT_MouseUp,
|
| - XFA_EVENT_PostExecute,
|
| - XFA_EVENT_PostOpen,
|
| - XFA_EVENT_PostPrint,
|
| - XFA_EVENT_PostSave,
|
| - XFA_EVENT_PostSign,
|
| - XFA_EVENT_PostSubmit,
|
| - XFA_EVENT_PreExecute,
|
| - XFA_EVENT_PreOpen,
|
| - XFA_EVENT_PrePrint,
|
| - XFA_EVENT_PreSave,
|
| - XFA_EVENT_PreSign,
|
| - XFA_EVENT_PreSubmit,
|
| - XFA_EVENT_Ready,
|
| - XFA_EVENT_InitCalculate,
|
| - XFA_EVENT_InitVariables,
|
| - XFA_EVENT_Calculate,
|
| - XFA_EVENT_Validate,
|
| - XFA_EVENT_Unknown,
|
| -};
|
| -#define XFA_VALIDATE_preSubmit 1
|
| -#define XFA_VALIDATE_prePrint 2
|
| -#define XFA_VALIDATE_preExecute 3
|
| -#define XFA_VALIDATE_preSave 4
|
| -class CXFA_EventParam {
|
| - public:
|
| - CXFA_EventParam() {
|
| - m_pTarget = NULL;
|
| - m_eType = XFA_EVENT_Unknown;
|
| - m_wsResult.Empty();
|
| - Reset();
|
| - }
|
| - void Reset() {
|
| - m_wsChange.Empty();
|
| - m_iCommitKey = 0;
|
| - m_wsFullText.Empty();
|
| - m_bKeyDown = FALSE;
|
| - m_bModifier = FALSE;
|
| - m_wsNewContentType.Empty();
|
| - m_wsNewText.Empty();
|
| - m_wsPrevContentType.Empty();
|
| - m_wsPrevText.Empty();
|
| - m_bReenter = FALSE;
|
| - m_iSelEnd = 0;
|
| - m_iSelStart = 0;
|
| - m_bShift = FALSE;
|
| - m_wsSoapFaultCode.Empty();
|
| - m_wsSoapFaultString.Empty();
|
| - m_bIsFormReady = FALSE;
|
| - m_iValidateActivities = XFA_VALIDATE_preSubmit;
|
| - }
|
| - CXFA_WidgetAcc* m_pTarget;
|
| - XFA_EVENTTYPE m_eType;
|
| - CFX_WideString m_wsResult;
|
| - FX_BOOL m_bCancelAction;
|
| - int32_t m_iCommitKey;
|
| - FX_BOOL m_bKeyDown;
|
| - FX_BOOL m_bModifier;
|
| - FX_BOOL m_bReenter;
|
| - int32_t m_iSelEnd;
|
| - int32_t m_iSelStart;
|
| - FX_BOOL m_bShift;
|
| - CFX_WideString m_wsChange;
|
| - CFX_WideString m_wsFullText;
|
| - CFX_WideString m_wsNewContentType;
|
| - CFX_WideString m_wsNewText;
|
| - CFX_WideString m_wsPrevContentType;
|
| - CFX_WideString m_wsPrevText;
|
| - CFX_WideString m_wsSoapFaultCode;
|
| - CFX_WideString m_wsSoapFaultString;
|
| - FX_BOOL m_bIsFormReady;
|
| - int32_t m_iValidateActivities;
|
| -};
|
| -#define XFA_EVENTERROR_Sucess 1
|
| -#define XFA_EVENTERROR_Error -1
|
| -#define XFA_EVENTERROR_NotExist 0
|
| -#define XFA_EVENTERROR_Disabled 2
|
| -enum XFA_WIDGETORDER {
|
| - XFA_WIDGETORDER_PreOrder,
|
| -};
|
| -class IXFA_DocView {
|
| - public:
|
| - virtual ~IXFA_DocView() {}
|
| -
|
| - virtual IXFA_Doc* GetDoc() = 0;
|
| - virtual int32_t StartLayout(int32_t iStartPage = 0) = 0;
|
| - virtual int32_t DoLayout(IFX_Pause* pPause = NULL) = 0;
|
| - virtual void StopLayout() = 0;
|
| -
|
| - virtual int32_t GetLayoutStatus() = 0;
|
| - virtual void UpdateDocView() = 0;
|
| - virtual int32_t CountPageViews() = 0;
|
| - virtual IXFA_PageView* GetPageView(int32_t nIndex) = 0;
|
| - virtual IXFA_Widget* GetWidgetByName(const CFX_WideStringC& wsName) = 0;
|
| - virtual CXFA_WidgetAcc* GetWidgetAccByName(const CFX_WideStringC& wsName) = 0;
|
| - virtual void ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc = NULL) = 0;
|
| - virtual int32_t ProcessWidgetEvent(CXFA_EventParam* pParam,
|
| - CXFA_WidgetAcc* pWidgetAcc = NULL) = 0;
|
| - virtual IXFA_WidgetHandler* GetWidgetHandler() = 0;
|
| - virtual IXFA_WidgetIterator* CreateWidgetIterator() = 0;
|
| - virtual IXFA_WidgetAccIterator* CreateWidgetAccIterator(
|
| - XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder) = 0;
|
| - virtual IXFA_Widget* GetFocusWidget() = 0;
|
| - virtual void KillFocus() = 0;
|
| - virtual FX_BOOL SetFocus(IXFA_Widget* hWidget) = 0;
|
| -};
|
| -#define XFA_TRAVERSEWAY_Tranvalse 0x0001
|
| -#define XFA_TRAVERSEWAY_Form 0x0002
|
| -#define XFA_WIDGETFILTER_Visible 0x0001
|
| -#define XFA_WIDGETFILTER_Viewable 0x0010
|
| -#define XFA_WIDGETFILTER_Printable 0x0020
|
| -#define XFA_WIDGETFILTER_Field 0x0100
|
| -#define XFA_WIDGETFILTER_AllType 0x0F00
|
| -class IXFA_PageView {
|
| - public:
|
| - virtual ~IXFA_PageView() {}
|
| -
|
| - virtual IXFA_DocView* GetDocView() = 0;
|
| - virtual int32_t GetPageViewIndex() = 0;
|
| - virtual void GetPageViewRect(CFX_RectF& rtPage) = 0;
|
| -
|
| - virtual void GetDisplayMatrix(CFX_Matrix& mt,
|
| - const CFX_Rect& rtDisp,
|
| - int32_t iRotate) = 0;
|
| -
|
| - virtual int32_t LoadPageView(IFX_Pause* pPause = NULL) = 0;
|
| - virtual void UnloadPageView() = 0;
|
| - virtual IXFA_Widget* GetWidgetByPos(FX_FLOAT fx, FX_FLOAT fy) = 0;
|
| - virtual IXFA_WidgetIterator* CreateWidgetIterator(
|
| - FX_DWORD dwTraverseWay = XFA_TRAVERSEWAY_Form,
|
| - FX_DWORD dwWidgetFilter = XFA_WIDGETFILTER_Visible |
|
| - XFA_WIDGETFILTER_Viewable |
|
| - XFA_WIDGETFILTER_AllType) = 0;
|
| -};
|
| -class CXFA_RenderOptions {
|
| - public:
|
| - CXFA_RenderOptions() : m_bPrint(FALSE), m_bHighlight(TRUE) {}
|
| - FX_BOOL m_bPrint;
|
| - FX_BOOL m_bHighlight;
|
| -};
|
| -#define XFA_RENDERSTATUS_Ready 1
|
| -#define XFA_RENDERSTATUS_ToBeContinued 2
|
| -#define XFA_RENDERSTATUS_Done 3
|
| -#define XFA_RENDERSTATUS_Failed -1
|
| -class IXFA_RenderContext {
|
| - public:
|
| - virtual void Release() = 0;
|
| - virtual int32_t StartRender(IXFA_PageView* pPageView,
|
| - CFX_Graphics* pGS,
|
| - const CFX_Matrix& pMatrix,
|
| - const CXFA_RenderOptions& options) = 0;
|
| - virtual int32_t DoRender(IFX_Pause* pPause = NULL) = 0;
|
| - virtual void StopRender() = 0;
|
| -
|
| - protected:
|
| - ~IXFA_RenderContext() {}
|
| -};
|
| -IXFA_RenderContext* XFA_RenderContext_Create();
|
| -enum XFA_WIDGETTYPE {
|
| - XFA_WIDGETTYPE_Barcode,
|
| - XFA_WIDGETTYPE_PushButton,
|
| - XFA_WIDGETTYPE_CheckButton,
|
| - XFA_WIDGETTYPE_RadioButton,
|
| - XFA_WIDGETTYPE_DatetimeEdit,
|
| - XFA_WIDGETTYPE_DecimalField,
|
| - XFA_WIDGETTYPE_NumericField,
|
| - XFA_WIDGETTYPE_Signature,
|
| - XFA_WIDGETTYPE_TextEdit,
|
| - XFA_WIDGETTYPE_DropdownList,
|
| - XFA_WIDGETTYPE_ListBox,
|
| - XFA_WIDGETTYPE_ImageField,
|
| - XFA_WIDGETTYPE_PasswordEdit,
|
| - XFA_WIDGETTYPE_Arc,
|
| - XFA_WIDGETTYPE_Rectangle,
|
| - XFA_WIDGETTYPE_Image,
|
| - XFA_WIDGETTYPE_Line,
|
| - XFA_WIDGETTYPE_Text,
|
| - XFA_WIDGETTYPE_ExcludeGroup,
|
| - XFA_WIDGETTYPE_Subform,
|
| - XFA_WIDGETTYPE_Unknown,
|
| -};
|
| -#define XFA_WIDGETSTATUS_Visible 0x00000001
|
| -#define XFA_WIDGETSTATUS_Invisible 0x00000002
|
| -#define XFA_WIDGETSTATUS_Hidden 0x00000004
|
| -#define XFA_WIDGETSTATUS_Viewable 0x00000010
|
| -#define XFA_WIDGETSTATUS_Printable 0x00000020
|
| -#define XFA_WIDGETSTATUS_Focused 0x00000100
|
| -class IXFA_WidgetHandler {
|
| - public:
|
| - virtual ~IXFA_WidgetHandler() {}
|
| -
|
| - virtual IXFA_Widget* CreateWidget(IXFA_Widget* hParent,
|
| - XFA_WIDGETTYPE eType,
|
| - IXFA_Widget* hBefore = NULL) = 0;
|
| - virtual IXFA_PageView* GetPageView(IXFA_Widget* hWidget) = 0;
|
| - virtual void GetRect(IXFA_Widget* hWidget, CFX_RectF& rt) = 0;
|
| - virtual FX_DWORD GetStatus(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL GetBBox(IXFA_Widget* hWidget,
|
| - CFX_RectF& rtBox,
|
| - FX_DWORD dwStatus,
|
| - FX_BOOL bDrawFocus = FALSE) = 0;
|
| - virtual CXFA_WidgetAcc* GetDataAcc(IXFA_Widget* hWidget) = 0;
|
| -
|
| - virtual void GetName(IXFA_Widget* hWidget,
|
| - CFX_WideString& wsName,
|
| - int32_t iNameType = 0) = 0;
|
| - virtual FX_BOOL GetToolTip(IXFA_Widget* hWidget,
|
| - CFX_WideString& wsToolTip) = 0;
|
| - virtual void SetPrivateData(IXFA_Widget* hWidget,
|
| - void* module_id,
|
| - void* pData,
|
| - PD_CALLBACK_FREEDATA callback) = 0;
|
| - virtual void* GetPrivateData(IXFA_Widget* hWidget, void* module_id) = 0;
|
| - virtual FX_BOOL OnMouseEnter(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL OnMouseExit(IXFA_Widget* hWidget) = 0;
|
| - virtual FX_BOOL OnLButtonDown(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnLButtonUp(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnLButtonDblClk(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnMouseMove(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnMouseWheel(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - int16_t zDelta,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnRButtonDown(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnRButtonUp(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnRButtonDblClk(IXFA_Widget* hWidget,
|
| - FX_DWORD dwFlags,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| -
|
| - virtual FX_BOOL OnKeyDown(IXFA_Widget* hWidget,
|
| - FX_DWORD dwKeyCode,
|
| - FX_DWORD dwFlags) = 0;
|
| - virtual FX_BOOL OnKeyUp(IXFA_Widget* hWidget,
|
| - FX_DWORD dwKeyCode,
|
| - FX_DWORD dwFlags) = 0;
|
| - virtual FX_BOOL OnChar(IXFA_Widget* hWidget,
|
| - FX_DWORD dwChar,
|
| - FX_DWORD dwFlags) = 0;
|
| - virtual FX_DWORD OnHitTest(IXFA_Widget* hWidget,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| - virtual FX_BOOL OnSetCursor(IXFA_Widget* hWidget,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) = 0;
|
| -
|
| - virtual void RenderWidget(IXFA_Widget* hWidget,
|
| - CFX_Graphics* pGS,
|
| - CFX_Matrix* pMatrix = NULL,
|
| - FX_BOOL bHighlight = FALSE) = 0;
|
| - virtual FX_BOOL HasEvent(CXFA_WidgetAcc* pWidgetAcc,
|
| - XFA_EVENTTYPE eEventType) = 0;
|
| - virtual int32_t ProcessEvent(CXFA_WidgetAcc* pWidgetAcc,
|
| - CXFA_EventParam* pParam) = 0;
|
| -};
|
| -class IXFA_WidgetIterator {
|
| - public:
|
| - virtual void Release() = 0;
|
| - virtual void Reset() = 0;
|
| - virtual IXFA_Widget* MoveToFirst() = 0;
|
| - virtual IXFA_Widget* MoveToLast() = 0;
|
| - virtual IXFA_Widget* MoveToNext() = 0;
|
| - virtual IXFA_Widget* MoveToPrevious() = 0;
|
| - virtual IXFA_Widget* GetCurrentWidget() = 0;
|
| - virtual FX_BOOL SetCurrentWidget(IXFA_Widget* hWidget) = 0;
|
| -
|
| - protected:
|
| - ~IXFA_WidgetIterator() {}
|
| -};
|
| -class IXFA_WidgetAccIterator {
|
| - public:
|
| - virtual void Release() = 0;
|
| - virtual void Reset() = 0;
|
| - virtual CXFA_WidgetAcc* MoveToFirst() = 0;
|
| - virtual CXFA_WidgetAcc* MoveToLast() = 0;
|
| - virtual CXFA_WidgetAcc* MoveToNext() = 0;
|
| - virtual CXFA_WidgetAcc* MoveToPrevious() = 0;
|
| - virtual CXFA_WidgetAcc* GetCurrentWidgetAcc() = 0;
|
| - virtual FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) = 0;
|
| - virtual void SkipTree() = 0;
|
| -
|
| - protected:
|
| - ~IXFA_WidgetAccIterator() {}
|
| -};
|
| -IXFA_WidgetAccIterator* XFA_WidgetAccIterator_Create(
|
| - CXFA_WidgetAcc* pTravelRoot,
|
| - XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder);
|
| -class IXFA_ChecksumContext {
|
| - public:
|
| - virtual void Release() = 0;
|
| -
|
| - virtual FX_BOOL StartChecksum() = 0;
|
| - virtual FX_BOOL UpdateChecksum(IFX_FileRead* pSrcFile,
|
| - FX_FILESIZE offset = 0,
|
| - size_t size = 0) = 0;
|
| - virtual void FinishChecksum() = 0;
|
| - virtual void GetChecksum(CFX_ByteString& bsChecksum) = 0;
|
| -
|
| - protected:
|
| - ~IXFA_ChecksumContext() {}
|
| -};
|
| -IXFA_ChecksumContext* XFA_Checksum_Create();
|
| -
|
| -#endif // FXFA_H_
|
| +// Copyright 2014 PDFium Authors. All rights reserved.
|
| +// 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 FXFA_H_
|
| +#define FXFA_H_
|
| +
|
| +class CFX_Graphics;
|
| +class CPDF_Document;
|
| +class CXFA_Node;
|
| +class CXFA_NodeList;
|
| +class CXFA_WidgetAcc;
|
| +class IFDE_XMLElement;
|
| +class IFWL_AdapterTimerMgr;
|
| +class IFX_Font;
|
| +class IXFA_App;
|
| +class IXFA_AppProvider;
|
| +class IXFA_ChecksumContext;
|
| +class IXFA_DocHandler;
|
| +class IXFA_DocProvider;
|
| +class IXFA_DocView;
|
| +class IXFA_FontMgr;
|
| +class IXFA_MenuHandler;
|
| +class IXFA_PageView;
|
| +class IXFA_PageViewRender;
|
| +class IXFA_WidgetAccIterator;
|
| +class IXFA_WidgetHandler;
|
| +class IXFA_WidgetIterator;
|
| +
|
| +class IXFA_Doc {
|
| + public:
|
| + virtual ~IXFA_Doc() {}
|
| +
|
| + protected:
|
| + IXFA_Doc() {}
|
| +};
|
| +
|
| +class IXFA_Widget {
|
| + public:
|
| + virtual ~IXFA_Widget() {}
|
| +
|
| + protected:
|
| + IXFA_Widget() {}
|
| +};
|
| +
|
| +#include "fxfa_basic.h"
|
| +#include "fxfa_widget.h"
|
| +#define XFA_MBICON_Error 0
|
| +#define XFA_MBICON_Warning 1
|
| +#define XFA_MBICON_Question 2
|
| +#define XFA_MBICON_Status 3
|
| +#define XFA_MB_OK 0
|
| +#define XFA_MB_OKCancel 1
|
| +#define XFA_MB_YesNo 2
|
| +#define XFA_MB_YesNoCancel 3
|
| +#define XFA_IDOK 1
|
| +#define XFA_IDCancel 2
|
| +#define XFA_IDNo 3
|
| +#define XFA_IDYes 4
|
| +#define XFA_IDS_ValidateFailed 1
|
| +#define XFA_IDS_CalcOverride 2
|
| +#define XFA_IDS_ModifyField 3
|
| +#define XFA_IDS_NotModifyField 4
|
| +#define XFA_IDS_AppName 5
|
| +#define XFA_IDS_ImageFilter 6
|
| +#define XFA_IDS_UNKNOW_CATCHED 7
|
| +#define XFA_IDS_Unable_TO_SET 8
|
| +#define XFA_IDS_VALUE_EXCALMATORY 9
|
| +#define XFA_IDS_INVALID_ENUM_VALUE 10
|
| +#define XFA_IDS_UNSUPPORT_METHOD 11
|
| +#define XFA_IDS_UNSUPPORT_PROP 12
|
| +#define XFA_IDS_INVAlID_PROP_SET 13
|
| +#define XFA_IDS_NOT_DEFAUL_VALUE 14
|
| +#define XFA_IDS_UNABLE_SET_LANGUAGE 15
|
| +#define XFA_IDS_UNABLE_SET_NUMPAGES 16
|
| +#define XFA_IDS_UNABLE_SET_PLATFORM 17
|
| +#define XFA_IDS_UNABLE_SET_VALIDATIONENABLE 18
|
| +#define XFA_IDS_UNABLE_SET_VARIATION 19
|
| +#define XFA_IDS_UNABLE_SET_VERSION 20
|
| +#define XFA_IDS_UNABLE_SET_READY 21
|
| +#define XFA_IDS_NUMBER_OF_OCCUR 22
|
| +#define XFA_IDS_UNABLE_SET_CLASS_NAME 23
|
| +#define XFA_IDS_UNABLE_SET_LENGTH_VALUE 24
|
| +#define XFA_IDS_UNSUPPORT_CHAR 25
|
| +#define XFA_IDS_BAD_SUFFIX 26
|
| +#define XFA_IDS_EXPECTED_IDENT 27
|
| +#define XFA_IDS_EXPECTED_STRING 28
|
| +#define XFA_IDS_INVALIDATE_CHAR 29
|
| +#define XFA_IDS_REDEFINITION 30
|
| +#define XFA_IDS_INVALIDATE_TOKEN 31
|
| +#define XFA_IDS_INVALIDATE_EXPRESSION 32
|
| +#define XFA_IDS_UNDEFINE_IDENTIFIER 33
|
| +#define XFA_IDS_INVALIDATE_LEFTVALUE 34
|
| +#define XFA_IDS_COMPILER_ERROR 35
|
| +#define XFA_IDS_CANNOT_MODIFY_VALUE 36
|
| +#define XFA_IDS_ERROR_PARAMETERS 37
|
| +#define XFA_IDS_EXPECT_ENDIF 38
|
| +#define XFA_IDS_UNEXPECTED_EXPRESSION 39
|
| +#define XFA_IDS_CONDITION_IS_NULL 40
|
| +#define XFA_IDS_ILLEGALBREAK 41
|
| +#define XFA_IDS_ILLEGALCONTINUE 42
|
| +#define XFA_IDS_EXPECTED_OPERATOR 43
|
| +#define XFA_IDS_DIVIDE_ZERO 44
|
| +#define XFA_IDS_CANNOT_COVERT_OBJECT 45
|
| +#define XFA_IDS_NOT_FOUND_CONTAINER 46
|
| +#define XFA_IDS_NOT_FOUND_PROPERTY 47
|
| +#define XFA_IDS_NOT_FOUND_METHOD 48
|
| +#define XFA_IDS_NOT_FOUND_CONST 49
|
| +#define XFA_IDS_NOT_ASSIGN_OBJECT 50
|
| +#define XFA_IDS_IVALIDATE_INSTRUCTION 51
|
| +#define XFA_IDS_EXPECT_NUMBER 52
|
| +#define XFA_IDS_VALIDATE_OUT_ARRAY 53
|
| +#define XFA_IDS_CANNOT_ASSIGN_IDENT 54
|
| +#define XFA_IDS_NOT_FOUNT_FUNCTION 55
|
| +#define XFA_IDS_NOT_ARRAY 56
|
| +#define XFA_IDS_OUT_ARRAY 57
|
| +#define XFA_IDS_NOT_SUPPORT_CALC 58
|
| +#define XFA_IDS_ARGUMENT_NOT_ARRAY 59
|
| +#define XFA_IDS_ARGUMENT_EXPECT_CONTAINER 60
|
| +#define XFA_IDS_ACCESS_PROPERTY_IN_NOT_OBJECT 61
|
| +#define XFA_IDS_FUNCTION_IS_BUILDIN 62
|
| +#define XFA_IDS_ERROR_MSG 63
|
| +#define XFA_IDS_INDEX_OUT_OF_BOUNDS 64
|
| +#define XFA_IDS_INCORRECT_NUMBER_OF_METHOD 65
|
| +#define XFA_IDS_ARGUMENT_MISMATCH 66
|
| +#define XFA_IDS_INVALID_ENUMERATE 67
|
| +#define XFA_IDS_INVALID_APPEND 68
|
| +#define XFA_IDS_SOM_EXPECTED_LIST 69
|
| +#define XFA_IDS_NOT_HAVE_PROPERTY 70
|
| +#define XFA_IDS_INVALID_NODE_TYPE 71
|
| +#define XFA_IDS_VIOLATE_BOUNDARY 72
|
| +#define XFA_IDS_SERVER_DENY 73
|
| +#define XFA_IDS_StringWeekDay_Sun 74
|
| +#define XFA_IDS_StringWeekDay_Mon 75
|
| +#define XFA_IDS_StringWeekDay_Tue 76
|
| +#define XFA_IDS_StringWeekDay_Wed 77
|
| +#define XFA_IDS_StringWeekDay_Thu 78
|
| +#define XFA_IDS_StringWeekDay_Fri 79
|
| +#define XFA_IDS_StringWeekDay_Sat 80
|
| +#define XFA_IDS_StringMonth_Jan 81
|
| +#define XFA_IDS_StringMonth_Feb 82
|
| +#define XFA_IDS_StringMonth_March 83
|
| +#define XFA_IDS_StringMonth_April 84
|
| +#define XFA_IDS_StringMonth_May 85
|
| +#define XFA_IDS_StringMonth_June 86
|
| +#define XFA_IDS_StringMonth_July 87
|
| +#define XFA_IDS_StringMonth_Aug 88
|
| +#define XFA_IDS_StringMonth_Sept 89
|
| +#define XFA_IDS_StringMonth_Oct 90
|
| +#define XFA_IDS_StringMonth_Nov 91
|
| +#define XFA_IDS_StringMonth_Dec 92
|
| +#define XFA_IDS_String_Today 93
|
| +#define XFA_IDS_ValidateLimit 94
|
| +#define XFA_IDS_ValidateNullWarning 95
|
| +#define XFA_IDS_ValidateNullError 96
|
| +#define XFA_IDS_ValidateWarning 97
|
| +#define XFA_IDS_ValidateError 98
|
| +#define XFA_IDS_ValidateNumberError 99
|
| +
|
| +// Probably should be called IXFA_AppDelegate.
|
| +class IXFA_AppProvider {
|
| + public:
|
| + virtual ~IXFA_AppProvider() {}
|
| +
|
| + /**
|
| + * Specifies the name of the client application in which a form currently
|
| + * exists. Such as Exchange-Pro.
|
| + */
|
| + virtual void SetAppType(const CFX_WideStringC& wsAppType) = 0;
|
| + virtual void GetAppType(CFX_WideString& wsAppType) = 0;
|
| + virtual void SetFoxitAppType(const CFX_WideStringC& wsFoxitAppType) {}
|
| + virtual void GetFoxitAppType(CFX_WideString& wsFoxitAppType) {
|
| + wsFoxitAppType.Empty();
|
| + }
|
| +
|
| + /**
|
| + * Returns the language of the running host application. Such as zh_CN
|
| + */
|
| + virtual void GetLanguage(CFX_WideString& wsLanguage) = 0;
|
| +
|
| + /**
|
| + * Returns the platform of the machine running the script. Such as WIN
|
| + */
|
| + virtual void GetPlatform(CFX_WideString& wsPlatform) = 0;
|
| +
|
| + /**
|
| + * Indicates the packaging of the application that is running the script. Such
|
| + * as Full
|
| + */
|
| + virtual void GetVariation(CFX_WideString& wsVariation) = 0;
|
| +
|
| + /**
|
| + * Indicates the version number of the current application. Such as 9
|
| + */
|
| + virtual void GetVersion(CFX_WideString& wsVersion) = 0;
|
| + virtual void GetFoxitVersion(CFX_WideString& wsFoxitVersion) {
|
| + wsFoxitVersion.Empty();
|
| + }
|
| +
|
| + /**
|
| + * Get application name, such as Phantom.
|
| + */
|
| + virtual void GetAppName(CFX_WideString& wsName) = 0;
|
| + virtual void GetFoxitAppName(CFX_WideString& wsFoxitName) {
|
| + wsFoxitName.Empty();
|
| + }
|
| +
|
| + /**
|
| + * Causes the system to play a sound.
|
| + * @param[in] dwType The system code for the appropriate sound.0 (Error)1
|
| + * (Warning)2 (Question)3 (Status)4 (Default)
|
| + */
|
| + virtual void Beep(FX_DWORD dwType) = 0;
|
| +
|
| + /**
|
| + * Displays a message box.
|
| + * @param[in] dwIconType Icon type, refer to XFA_MBICON.
|
| + * @param[in] dwButtonType Button type, refer to XFA_MESSAGEBUTTON.
|
| + * @return A valid integer representing the value of the button pressed by the
|
| + * user, refer to XFA_ID.
|
| + */
|
| + virtual int32_t MsgBox(const CFX_WideStringC& wsMessage,
|
| + const CFX_WideStringC& wsTitle = FX_WSTRC(L""),
|
| + FX_DWORD dwIconType = 0,
|
| + FX_DWORD dwButtonType = 0) = 0;
|
| +
|
| + /**
|
| + * Get a response from the user.
|
| + * @param[in] bMark - Mask the user input with * (asterisks) when true,
|
| + */
|
| + virtual void Response(CFX_WideString& wsAnswer,
|
| + const CFX_WideStringC& wsQuestion,
|
| + const CFX_WideStringC& wsTitle = FX_WSTRC(L""),
|
| + const CFX_WideStringC& wsDefaultAnswer = FX_WSTRC(L""),
|
| + FX_BOOL bMark = TRUE) = 0;
|
| +
|
| + virtual int32_t GetDocumentCountInBatch() = 0;
|
| + virtual int32_t GetCurDocumentInBatch() = 0;
|
| +
|
| + /**
|
| + * Download something from somewhere.
|
| + * @param[in] wsURL - http, ftp, such as
|
| + * "http://www.w3.org/TR/REC-xml-names/".
|
| + */
|
| + virtual IFX_FileRead* DownloadURL(const CFX_WideStringC& wsURL) = 0;
|
| +
|
| + /**
|
| + * POST data to the given url.
|
| + * @param[in] wsURL the URL being uploaded.
|
| + * @param[in] wsData the data being uploaded.
|
| + * @param[in] wsContentType the content type of data including text/html,
|
| + * text/xml, text/plain, multipart/form-data,
|
| + * application/x-www-form-urlencoded,
|
| + * application/octet-stream, any valid MIME type.
|
| + * @param[in] wsEncode the encode of data including UTF-8, UTF-16,
|
| + * ISO8859-1, any recognized [IANA]character encoding
|
| + * @param[in] wsHeader any additional HTTP headers to be included in the
|
| + * post.
|
| + * @param[out] wsResponse decoded response from server.
|
| + * @return TRUE Server permitted the post request, FALSE otherwise.
|
| + */
|
| + virtual FX_BOOL PostRequestURL(const CFX_WideStringC& wsURL,
|
| + const CFX_WideStringC& wsData,
|
| + const CFX_WideStringC& wsContentType,
|
| + const CFX_WideStringC& wsEncode,
|
| + const CFX_WideStringC& wsHeader,
|
| + CFX_WideString& wsResponse) = 0;
|
| +
|
| + /**
|
| + * PUT data to the given url.
|
| + * @param[in] wsURL the URL being uploaded.
|
| + * @param[in] wsData the data being uploaded.
|
| + * @param[in] wsEncode the encode of data including UTF-8, UTF-16,
|
| + * ISO8859-1, any recognized [IANA]character encoding
|
| + * @return TRUE Server permitted the post request, FALSE otherwise.
|
| + */
|
| + virtual FX_BOOL PutRequestURL(const CFX_WideStringC& wsURL,
|
| + const CFX_WideStringC& wsData,
|
| + const CFX_WideStringC& wsEncode) = 0;
|
| +
|
| + virtual void LoadString(int32_t iStringID, CFX_WideString& wsString) = 0;
|
| + virtual FX_BOOL ShowFileDialog(const CFX_WideStringC& wsTitle,
|
| + const CFX_WideStringC& wsFilter,
|
| + CFX_WideStringArray& wsPathArr,
|
| + FX_BOOL bOpen = TRUE) = 0;
|
| + virtual IFWL_AdapterTimerMgr* GetTimerMgr() = 0;
|
| +};
|
| +class IXFA_FontMgr {
|
| + public:
|
| + static IXFA_FontMgr* CreateDefault();
|
| + virtual ~IXFA_FontMgr();
|
| +
|
| + virtual IFX_Font* GetFont(IXFA_Doc* hDoc,
|
| + const CFX_WideStringC& wsFontFamily,
|
| + FX_DWORD dwFontStyles,
|
| + FX_WORD wCodePage = 0xFFFF) = 0;
|
| + virtual IFX_Font* GetDefaultFont(IXFA_Doc* hDoc,
|
| + const CFX_WideStringC& wsFontFamily,
|
| + FX_DWORD dwFontStyles,
|
| + FX_WORD wCodePage = 0xFFFF) = 0;
|
| +};
|
| +class IXFA_App {
|
| + public:
|
| + static IXFA_App* Create(IXFA_AppProvider* pProvider);
|
| + virtual ~IXFA_App();
|
| +
|
| + virtual IXFA_DocHandler* GetDocHandler() = 0;
|
| + virtual IXFA_Doc* CreateDoc(IXFA_DocProvider* pProvider,
|
| + IFX_FileRead* pStream,
|
| + FX_BOOL bTakeOverFile = TRUE) = 0;
|
| + virtual IXFA_Doc* CreateDoc(IXFA_DocProvider* pProvider,
|
| + CPDF_Document* pPDFDoc) = 0;
|
| + virtual IXFA_AppProvider* GetAppProvider() = 0;
|
| + virtual void SetDefaultFontMgr(IXFA_FontMgr* pFontMgr) = 0;
|
| + virtual IXFA_MenuHandler* GetMenuHandler() = 0;
|
| +};
|
| +class IXFA_MenuHandler {
|
| + public:
|
| + virtual ~IXFA_MenuHandler() {}
|
| +
|
| + virtual FX_BOOL CanCopy(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanCut(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanPaste(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanSelectAll(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanDelete(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanDeSelect(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL Copy(IXFA_Widget* hWidget, CFX_WideString& wsText) = 0;
|
| + virtual FX_BOOL Cut(IXFA_Widget* hWidget, CFX_WideString& wsText) = 0;
|
| + virtual FX_BOOL Paste(IXFA_Widget* hWidget, const CFX_WideString& wsText) = 0;
|
| + virtual FX_BOOL SelectAll(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL Delete(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL DeSelect(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanUndo(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL CanRedo(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL Undo(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL Redo(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL GetSuggestWords(IXFA_Widget* hWidget,
|
| + CFX_PointF pointf,
|
| + CFX_ByteStringArray& sSuggest) = 0;
|
| + virtual FX_BOOL ReplaceSpellCheckWord(IXFA_Widget* hWidget,
|
| + CFX_PointF pointf,
|
| + const CFX_ByteStringC& bsReplace) = 0;
|
| +};
|
| +#define XFA_INVALIDATE_AllPages 0x00000000
|
| +#define XFA_INVALIDATE_CurrentPage 0x00000001
|
| +#define XFA_PRINTOPT_ShowDialog 0x00000001
|
| +#define XFA_PRINTOPT_CanCancel 0x00000002
|
| +#define XFA_PRINTOPT_ShrinkPage 0x00000004
|
| +#define XFA_PRINTOPT_AsImage 0x00000008
|
| +#define XFA_PRINTOPT_ReverseOrder 0x00000010
|
| +#define XFA_PRINTOPT_PrintAnnot 0x00000020
|
| +#define XFA_PAGEVIEWEVENT_PostAdded 1
|
| +#define XFA_PAGEVIEWEVENT_PostRemoved 3
|
| +#define XFA_WIDGETEVENT_PostAdded 2
|
| +#define XFA_WIDGETEVENT_PreRemoved 3
|
| +#define XFA_WIDGETEVENT_PostContentChanged 6
|
| +#define XFA_WIDGETEVENT_ListItemRemoved 7
|
| +#define XFA_WIDGETEVENT_ListItemAdded 8
|
| +#define XFA_WIDGETEVENT_AccessChanged 9
|
| +class IXFA_DocProvider {
|
| + public:
|
| + virtual ~IXFA_DocProvider() {}
|
| +
|
| + virtual void SetChangeMark(IXFA_Doc* hDoc) = 0;
|
| + virtual void InvalidateRect(IXFA_PageView* pPageView,
|
| + const CFX_RectF& rt,
|
| + FX_DWORD dwFlags = 0) = 0;
|
| + virtual void DisplayCaret(IXFA_Widget* hWidget,
|
| + FX_BOOL bVisible,
|
| + const CFX_RectF* pRtAnchor) = 0;
|
| + virtual FX_BOOL GetPopupPos(IXFA_Widget* hWidget,
|
| + FX_FLOAT fMinPopup,
|
| + FX_FLOAT fMaxPopup,
|
| + const CFX_RectF& rtAnchor,
|
| + CFX_RectF& rtPopup) = 0;
|
| + virtual FX_BOOL PopupMenu(IXFA_Widget* hWidget,
|
| + CFX_PointF ptPopup,
|
| + const CFX_RectF* pRectExclude = NULL) = 0;
|
| + virtual void PageViewEvent(IXFA_PageView* pPageView, FX_DWORD dwFlags) = 0;
|
| + virtual void WidgetEvent(IXFA_Widget* hWidget,
|
| + CXFA_WidgetAcc* pWidgetData,
|
| + FX_DWORD dwEvent,
|
| + void* pParam = NULL,
|
| + void* pAdditional = NULL) = 0;
|
| + virtual FX_BOOL RenderCustomWidget(IXFA_Widget* hWidget,
|
| + CFX_Graphics* pGS,
|
| + CFX_Matrix* pMatrix,
|
| + const CFX_RectF& rtUI) {
|
| + return FALSE;
|
| + }
|
| + virtual int32_t CountPages(IXFA_Doc* hDoc) = 0;
|
| + virtual int32_t GetCurrentPage(IXFA_Doc* hDoc) = 0;
|
| + virtual void SetCurrentPage(IXFA_Doc* hDoc, int32_t iCurPage) = 0;
|
| + virtual FX_BOOL IsCalculationsEnabled(IXFA_Doc* hDoc) = 0;
|
| + virtual void SetCalculationsEnabled(IXFA_Doc* hDoc, FX_BOOL bEnabled) = 0;
|
| + virtual void GetTitle(IXFA_Doc* hDoc, CFX_WideString& wsTitle) = 0;
|
| + virtual void SetTitle(IXFA_Doc* hDoc, const CFX_WideStringC& wsTitle) = 0;
|
| + virtual void ExportData(IXFA_Doc* hDoc,
|
| + const CFX_WideStringC& wsFilePath,
|
| + FX_BOOL bXDP = TRUE) = 0;
|
| + virtual void ImportData(IXFA_Doc* hDoc,
|
| + const CFX_WideStringC& wsFilePath) = 0;
|
| + virtual void GotoURL(IXFA_Doc* hDoc,
|
| + const CFX_WideStringC& bsURL,
|
| + FX_BOOL bAppend = TRUE) = 0;
|
| + virtual FX_BOOL IsValidationsEnabled(IXFA_Doc* hDoc) = 0;
|
| + virtual void SetValidationsEnabled(IXFA_Doc* hDoc, FX_BOOL bEnabled) = 0;
|
| + virtual void SetFocusWidget(IXFA_Doc* hDoc, IXFA_Widget* hWidget) = 0;
|
| + virtual void Print(IXFA_Doc* hDoc,
|
| + int32_t nStartPage,
|
| + int32_t nEndPage,
|
| + FX_DWORD dwOptions) = 0;
|
| + virtual int32_t AbsPageCountInBatch(IXFA_Doc* hDoc) = 0;
|
| + virtual int32_t AbsPageInBatch(IXFA_Doc* hDoc, IXFA_Widget* hWidget) = 0;
|
| + virtual int32_t SheetCountInBatch(IXFA_Doc* hDoc) = 0;
|
| + virtual int32_t SheetInBatch(IXFA_Doc* hDoc, IXFA_Widget* hWidget) = 0;
|
| + virtual int32_t Verify(IXFA_Doc* hDoc,
|
| + CXFA_Node* pSigNode,
|
| + FX_BOOL bUsed = TRUE) {
|
| + return 0;
|
| + }
|
| + virtual FX_BOOL Sign(IXFA_Doc* hDoc,
|
| + CXFA_NodeList* pNodeList,
|
| + const CFX_WideStringC& wsExpression,
|
| + const CFX_WideStringC& wsXMLIdent,
|
| + const CFX_WideStringC& wsValue = FX_WSTRC(L"open"),
|
| + FX_BOOL bUsed = TRUE) {
|
| + return 0;
|
| + }
|
| + virtual CXFA_NodeList* Enumerate(IXFA_Doc* hDoc) { return 0; }
|
| + virtual FX_BOOL Clear(IXFA_Doc* hDoc,
|
| + CXFA_Node* pSigNode,
|
| + FX_BOOL bCleared = TRUE) {
|
| + return 0;
|
| + }
|
| + virtual void GetURL(IXFA_Doc* hDoc, CFX_WideString& wsDocURL) = 0;
|
| + virtual FX_ARGB GetHighlightColor(IXFA_Doc* hDoc) = 0;
|
| + virtual void AddDoRecord(IXFA_Widget* hWidget) = 0;
|
| +
|
| + virtual FX_BOOL SubmitData(IXFA_Doc* hDoc, CXFA_Submit submit) = 0;
|
| + virtual FX_BOOL CheckWord(IXFA_Doc* hDoc, const CFX_ByteStringC& sWord) = 0;
|
| + virtual FX_BOOL GetSuggestWords(IXFA_Doc* hDoc,
|
| + const CFX_ByteStringC& sWord,
|
| + CFX_ByteStringArray& sSuggest) = 0;
|
| + virtual FX_BOOL GetPDFScriptObject(IXFA_Doc* hDoc,
|
| + const CFX_ByteStringC& utf8Name,
|
| + FXJSE_HVALUE hValue) = 0;
|
| + virtual FX_BOOL GetGlobalProperty(IXFA_Doc* hDoc,
|
| + const CFX_ByteStringC& szPropName,
|
| + FXJSE_HVALUE hValue) = 0;
|
| + virtual FX_BOOL SetGlobalProperty(IXFA_Doc* hDoc,
|
| + const CFX_ByteStringC& szPropName,
|
| + FXJSE_HVALUE hValue) = 0;
|
| + virtual CPDF_Document* OpenPDF(IXFA_Doc* hDoc,
|
| + IFX_FileRead* pFile,
|
| + FX_BOOL bTakeOverFile) = 0;
|
| + virtual IFX_FileRead* OpenLinkedFile(IXFA_Doc* hDoc,
|
| + const CFX_WideString& wsLink) = 0;
|
| +};
|
| +#define XFA_DOCVIEW_View 0x00000000
|
| +#define XFA_DOCVIEW_MasterPage 0x00000001
|
| +#define XFA_DOCVIEW_Design 0x00000002
|
| +#define XFA_DOCTYPE_Dynamic 0
|
| +#define XFA_DOCTYPE_Static 1
|
| +#define XFA_DOCTYPE_XDP 2
|
| +#define XFA_PARSESTATUS_StatusErr -3
|
| +#define XFA_PARSESTATUS_StreamErr -2
|
| +#define XFA_PARSESTATUS_SyntaxErr -1
|
| +#define XFA_PARSESTATUS_Ready 0
|
| +#define XFA_PARSESTATUS_Done 100
|
| +class IXFA_DocHandler {
|
| + public:
|
| + virtual ~IXFA_DocHandler() {}
|
| +
|
| + virtual void ReleaseDoc(IXFA_Doc* hDoc) = 0;
|
| + virtual IXFA_DocProvider* GetDocProvider(IXFA_Doc* hDoc) = 0;
|
| +
|
| + virtual FX_DWORD GetDocType(IXFA_Doc* hDoc) = 0;
|
| + virtual int32_t StartLoad(IXFA_Doc* hDoc) = 0;
|
| + virtual int32_t DoLoad(IXFA_Doc* hDoc, IFX_Pause* pPause = NULL) = 0;
|
| + virtual void StopLoad(IXFA_Doc* hDoc) = 0;
|
| +
|
| + virtual IXFA_DocView* CreateDocView(IXFA_Doc* hDoc, FX_DWORD dwView = 0) = 0;
|
| +
|
| + virtual int32_t CountPackages(IXFA_Doc* hDoc) = 0;
|
| + virtual void GetPackageName(IXFA_Doc* hDoc,
|
| + int32_t iPackage,
|
| + CFX_WideStringC& wsPackage) = 0;
|
| +
|
| + virtual FX_BOOL SavePackage(IXFA_Doc* hDoc,
|
| + const CFX_WideStringC& wsPackage,
|
| + IFX_FileWrite* pFile,
|
| + IXFA_ChecksumContext* pCSContext = NULL) = 0;
|
| + virtual FX_BOOL CloseDoc(IXFA_Doc* hDoc) = 0;
|
| +
|
| + virtual FX_BOOL ImportData(IXFA_Doc* hDoc,
|
| + IFX_FileRead* pStream,
|
| + FX_BOOL bXDP = TRUE) = 0;
|
| + virtual void SetJSERuntime(IXFA_Doc* hDoc, FXJSE_HRUNTIME hRuntime) = 0;
|
| + virtual FXJSE_HVALUE GetXFAScriptObject(IXFA_Doc* hDoc) = 0;
|
| + virtual XFA_ATTRIBUTEENUM GetRestoreState(IXFA_Doc* hDoc) = 0;
|
| + virtual FX_BOOL RunDocScript(IXFA_Doc* hDoc,
|
| + XFA_SCRIPTTYPE eScriptType,
|
| + const CFX_WideStringC& wsScript,
|
| + FXJSE_HVALUE hRetValue,
|
| + FXJSE_HVALUE hThisObject) = 0;
|
| +};
|
| +enum XFA_EVENTTYPE {
|
| + XFA_EVENT_Click,
|
| + XFA_EVENT_Change,
|
| + XFA_EVENT_DocClose,
|
| + XFA_EVENT_DocReady,
|
| + XFA_EVENT_Enter,
|
| + XFA_EVENT_Exit,
|
| + XFA_EVENT_Full,
|
| + XFA_EVENT_IndexChange,
|
| + XFA_EVENT_Initialize,
|
| + XFA_EVENT_MouseDown,
|
| + XFA_EVENT_MouseEnter,
|
| + XFA_EVENT_MouseExit,
|
| + XFA_EVENT_MouseUp,
|
| + XFA_EVENT_PostExecute,
|
| + XFA_EVENT_PostOpen,
|
| + XFA_EVENT_PostPrint,
|
| + XFA_EVENT_PostSave,
|
| + XFA_EVENT_PostSign,
|
| + XFA_EVENT_PostSubmit,
|
| + XFA_EVENT_PreExecute,
|
| + XFA_EVENT_PreOpen,
|
| + XFA_EVENT_PrePrint,
|
| + XFA_EVENT_PreSave,
|
| + XFA_EVENT_PreSign,
|
| + XFA_EVENT_PreSubmit,
|
| + XFA_EVENT_Ready,
|
| + XFA_EVENT_InitCalculate,
|
| + XFA_EVENT_InitVariables,
|
| + XFA_EVENT_Calculate,
|
| + XFA_EVENT_Validate,
|
| + XFA_EVENT_Unknown,
|
| +};
|
| +#define XFA_VALIDATE_preSubmit 1
|
| +#define XFA_VALIDATE_prePrint 2
|
| +#define XFA_VALIDATE_preExecute 3
|
| +#define XFA_VALIDATE_preSave 4
|
| +class CXFA_EventParam {
|
| + public:
|
| + CXFA_EventParam() {
|
| + m_pTarget = NULL;
|
| + m_eType = XFA_EVENT_Unknown;
|
| + m_wsResult.Empty();
|
| + Reset();
|
| + }
|
| + void Reset() {
|
| + m_wsChange.Empty();
|
| + m_iCommitKey = 0;
|
| + m_wsFullText.Empty();
|
| + m_bKeyDown = FALSE;
|
| + m_bModifier = FALSE;
|
| + m_wsNewContentType.Empty();
|
| + m_wsNewText.Empty();
|
| + m_wsPrevContentType.Empty();
|
| + m_wsPrevText.Empty();
|
| + m_bReenter = FALSE;
|
| + m_iSelEnd = 0;
|
| + m_iSelStart = 0;
|
| + m_bShift = FALSE;
|
| + m_wsSoapFaultCode.Empty();
|
| + m_wsSoapFaultString.Empty();
|
| + m_bIsFormReady = FALSE;
|
| + m_iValidateActivities = XFA_VALIDATE_preSubmit;
|
| + }
|
| + CXFA_WidgetAcc* m_pTarget;
|
| + XFA_EVENTTYPE m_eType;
|
| + CFX_WideString m_wsResult;
|
| + FX_BOOL m_bCancelAction;
|
| + int32_t m_iCommitKey;
|
| + FX_BOOL m_bKeyDown;
|
| + FX_BOOL m_bModifier;
|
| + FX_BOOL m_bReenter;
|
| + int32_t m_iSelEnd;
|
| + int32_t m_iSelStart;
|
| + FX_BOOL m_bShift;
|
| + CFX_WideString m_wsChange;
|
| + CFX_WideString m_wsFullText;
|
| + CFX_WideString m_wsNewContentType;
|
| + CFX_WideString m_wsNewText;
|
| + CFX_WideString m_wsPrevContentType;
|
| + CFX_WideString m_wsPrevText;
|
| + CFX_WideString m_wsSoapFaultCode;
|
| + CFX_WideString m_wsSoapFaultString;
|
| + FX_BOOL m_bIsFormReady;
|
| + int32_t m_iValidateActivities;
|
| +};
|
| +#define XFA_EVENTERROR_Sucess 1
|
| +#define XFA_EVENTERROR_Error -1
|
| +#define XFA_EVENTERROR_NotExist 0
|
| +#define XFA_EVENTERROR_Disabled 2
|
| +enum XFA_WIDGETORDER {
|
| + XFA_WIDGETORDER_PreOrder,
|
| +};
|
| +class IXFA_DocView {
|
| + public:
|
| + virtual ~IXFA_DocView() {}
|
| +
|
| + virtual IXFA_Doc* GetDoc() = 0;
|
| + virtual int32_t StartLayout(int32_t iStartPage = 0) = 0;
|
| + virtual int32_t DoLayout(IFX_Pause* pPause = NULL) = 0;
|
| + virtual void StopLayout() = 0;
|
| +
|
| + virtual int32_t GetLayoutStatus() = 0;
|
| + virtual void UpdateDocView() = 0;
|
| + virtual int32_t CountPageViews() = 0;
|
| + virtual IXFA_PageView* GetPageView(int32_t nIndex) = 0;
|
| + virtual IXFA_Widget* GetWidgetByName(const CFX_WideStringC& wsName) = 0;
|
| + virtual CXFA_WidgetAcc* GetWidgetAccByName(const CFX_WideStringC& wsName) = 0;
|
| + virtual void ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc = NULL) = 0;
|
| + virtual int32_t ProcessWidgetEvent(CXFA_EventParam* pParam,
|
| + CXFA_WidgetAcc* pWidgetAcc = NULL) = 0;
|
| + virtual IXFA_WidgetHandler* GetWidgetHandler() = 0;
|
| + virtual IXFA_WidgetIterator* CreateWidgetIterator() = 0;
|
| + virtual IXFA_WidgetAccIterator* CreateWidgetAccIterator(
|
| + XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder) = 0;
|
| + virtual IXFA_Widget* GetFocusWidget() = 0;
|
| + virtual void KillFocus() = 0;
|
| + virtual FX_BOOL SetFocus(IXFA_Widget* hWidget) = 0;
|
| +};
|
| +#define XFA_TRAVERSEWAY_Tranvalse 0x0001
|
| +#define XFA_TRAVERSEWAY_Form 0x0002
|
| +#define XFA_WIDGETFILTER_Visible 0x0001
|
| +#define XFA_WIDGETFILTER_Viewable 0x0010
|
| +#define XFA_WIDGETFILTER_Printable 0x0020
|
| +#define XFA_WIDGETFILTER_Field 0x0100
|
| +#define XFA_WIDGETFILTER_AllType 0x0F00
|
| +class IXFA_PageView {
|
| + public:
|
| + virtual ~IXFA_PageView() {}
|
| +
|
| + virtual IXFA_DocView* GetDocView() = 0;
|
| + virtual int32_t GetPageViewIndex() = 0;
|
| + virtual void GetPageViewRect(CFX_RectF& rtPage) = 0;
|
| +
|
| + virtual void GetDisplayMatrix(CFX_Matrix& mt,
|
| + const CFX_Rect& rtDisp,
|
| + int32_t iRotate) = 0;
|
| +
|
| + virtual int32_t LoadPageView(IFX_Pause* pPause = NULL) = 0;
|
| + virtual void UnloadPageView() = 0;
|
| + virtual IXFA_Widget* GetWidgetByPos(FX_FLOAT fx, FX_FLOAT fy) = 0;
|
| + virtual IXFA_WidgetIterator* CreateWidgetIterator(
|
| + FX_DWORD dwTraverseWay = XFA_TRAVERSEWAY_Form,
|
| + FX_DWORD dwWidgetFilter = XFA_WIDGETFILTER_Visible |
|
| + XFA_WIDGETFILTER_Viewable |
|
| + XFA_WIDGETFILTER_AllType) = 0;
|
| +};
|
| +class CXFA_RenderOptions {
|
| + public:
|
| + CXFA_RenderOptions() : m_bPrint(FALSE), m_bHighlight(TRUE) {}
|
| + FX_BOOL m_bPrint;
|
| + FX_BOOL m_bHighlight;
|
| +};
|
| +#define XFA_RENDERSTATUS_Ready 1
|
| +#define XFA_RENDERSTATUS_ToBeContinued 2
|
| +#define XFA_RENDERSTATUS_Done 3
|
| +#define XFA_RENDERSTATUS_Failed -1
|
| +class IXFA_RenderContext {
|
| + public:
|
| + virtual void Release() = 0;
|
| + virtual int32_t StartRender(IXFA_PageView* pPageView,
|
| + CFX_Graphics* pGS,
|
| + const CFX_Matrix& pMatrix,
|
| + const CXFA_RenderOptions& options) = 0;
|
| + virtual int32_t DoRender(IFX_Pause* pPause = NULL) = 0;
|
| + virtual void StopRender() = 0;
|
| +
|
| + protected:
|
| + ~IXFA_RenderContext() {}
|
| +};
|
| +IXFA_RenderContext* XFA_RenderContext_Create();
|
| +enum XFA_WIDGETTYPE {
|
| + XFA_WIDGETTYPE_Barcode,
|
| + XFA_WIDGETTYPE_PushButton,
|
| + XFA_WIDGETTYPE_CheckButton,
|
| + XFA_WIDGETTYPE_RadioButton,
|
| + XFA_WIDGETTYPE_DatetimeEdit,
|
| + XFA_WIDGETTYPE_DecimalField,
|
| + XFA_WIDGETTYPE_NumericField,
|
| + XFA_WIDGETTYPE_Signature,
|
| + XFA_WIDGETTYPE_TextEdit,
|
| + XFA_WIDGETTYPE_DropdownList,
|
| + XFA_WIDGETTYPE_ListBox,
|
| + XFA_WIDGETTYPE_ImageField,
|
| + XFA_WIDGETTYPE_PasswordEdit,
|
| + XFA_WIDGETTYPE_Arc,
|
| + XFA_WIDGETTYPE_Rectangle,
|
| + XFA_WIDGETTYPE_Image,
|
| + XFA_WIDGETTYPE_Line,
|
| + XFA_WIDGETTYPE_Text,
|
| + XFA_WIDGETTYPE_ExcludeGroup,
|
| + XFA_WIDGETTYPE_Subform,
|
| + XFA_WIDGETTYPE_Unknown,
|
| +};
|
| +#define XFA_WIDGETSTATUS_Visible 0x00000001
|
| +#define XFA_WIDGETSTATUS_Invisible 0x00000002
|
| +#define XFA_WIDGETSTATUS_Hidden 0x00000004
|
| +#define XFA_WIDGETSTATUS_Viewable 0x00000010
|
| +#define XFA_WIDGETSTATUS_Printable 0x00000020
|
| +#define XFA_WIDGETSTATUS_Focused 0x00000100
|
| +class IXFA_WidgetHandler {
|
| + public:
|
| + virtual ~IXFA_WidgetHandler() {}
|
| +
|
| + virtual IXFA_Widget* CreateWidget(IXFA_Widget* hParent,
|
| + XFA_WIDGETTYPE eType,
|
| + IXFA_Widget* hBefore = NULL) = 0;
|
| + virtual IXFA_PageView* GetPageView(IXFA_Widget* hWidget) = 0;
|
| + virtual void GetRect(IXFA_Widget* hWidget, CFX_RectF& rt) = 0;
|
| + virtual FX_DWORD GetStatus(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL GetBBox(IXFA_Widget* hWidget,
|
| + CFX_RectF& rtBox,
|
| + FX_DWORD dwStatus,
|
| + FX_BOOL bDrawFocus = FALSE) = 0;
|
| + virtual CXFA_WidgetAcc* GetDataAcc(IXFA_Widget* hWidget) = 0;
|
| +
|
| + virtual void GetName(IXFA_Widget* hWidget,
|
| + CFX_WideString& wsName,
|
| + int32_t iNameType = 0) = 0;
|
| + virtual FX_BOOL GetToolTip(IXFA_Widget* hWidget,
|
| + CFX_WideString& wsToolTip) = 0;
|
| + virtual void SetPrivateData(IXFA_Widget* hWidget,
|
| + void* module_id,
|
| + void* pData,
|
| + PD_CALLBACK_FREEDATA callback) = 0;
|
| + virtual void* GetPrivateData(IXFA_Widget* hWidget, void* module_id) = 0;
|
| + virtual FX_BOOL OnMouseEnter(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL OnMouseExit(IXFA_Widget* hWidget) = 0;
|
| + virtual FX_BOOL OnLButtonDown(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnLButtonUp(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnLButtonDblClk(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnMouseMove(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnMouseWheel(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + int16_t zDelta,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnRButtonDown(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnRButtonUp(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnRButtonDblClk(IXFA_Widget* hWidget,
|
| + FX_DWORD dwFlags,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| +
|
| + virtual FX_BOOL OnKeyDown(IXFA_Widget* hWidget,
|
| + FX_DWORD dwKeyCode,
|
| + FX_DWORD dwFlags) = 0;
|
| + virtual FX_BOOL OnKeyUp(IXFA_Widget* hWidget,
|
| + FX_DWORD dwKeyCode,
|
| + FX_DWORD dwFlags) = 0;
|
| + virtual FX_BOOL OnChar(IXFA_Widget* hWidget,
|
| + FX_DWORD dwChar,
|
| + FX_DWORD dwFlags) = 0;
|
| + virtual FX_DWORD OnHitTest(IXFA_Widget* hWidget,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| + virtual FX_BOOL OnSetCursor(IXFA_Widget* hWidget,
|
| + FX_FLOAT fx,
|
| + FX_FLOAT fy) = 0;
|
| +
|
| + virtual void RenderWidget(IXFA_Widget* hWidget,
|
| + CFX_Graphics* pGS,
|
| + CFX_Matrix* pMatrix = NULL,
|
| + FX_BOOL bHighlight = FALSE) = 0;
|
| + virtual FX_BOOL HasEvent(CXFA_WidgetAcc* pWidgetAcc,
|
| + XFA_EVENTTYPE eEventType) = 0;
|
| + virtual int32_t ProcessEvent(CXFA_WidgetAcc* pWidgetAcc,
|
| + CXFA_EventParam* pParam) = 0;
|
| +};
|
| +class IXFA_WidgetIterator {
|
| + public:
|
| + virtual void Release() = 0;
|
| + virtual void Reset() = 0;
|
| + virtual IXFA_Widget* MoveToFirst() = 0;
|
| + virtual IXFA_Widget* MoveToLast() = 0;
|
| + virtual IXFA_Widget* MoveToNext() = 0;
|
| + virtual IXFA_Widget* MoveToPrevious() = 0;
|
| + virtual IXFA_Widget* GetCurrentWidget() = 0;
|
| + virtual FX_BOOL SetCurrentWidget(IXFA_Widget* hWidget) = 0;
|
| +
|
| + protected:
|
| + ~IXFA_WidgetIterator() {}
|
| +};
|
| +class IXFA_WidgetAccIterator {
|
| + public:
|
| + virtual void Release() = 0;
|
| + virtual void Reset() = 0;
|
| + virtual CXFA_WidgetAcc* MoveToFirst() = 0;
|
| + virtual CXFA_WidgetAcc* MoveToLast() = 0;
|
| + virtual CXFA_WidgetAcc* MoveToNext() = 0;
|
| + virtual CXFA_WidgetAcc* MoveToPrevious() = 0;
|
| + virtual CXFA_WidgetAcc* GetCurrentWidgetAcc() = 0;
|
| + virtual FX_BOOL SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) = 0;
|
| + virtual void SkipTree() = 0;
|
| +
|
| + protected:
|
| + ~IXFA_WidgetAccIterator() {}
|
| +};
|
| +IXFA_WidgetAccIterator* XFA_WidgetAccIterator_Create(
|
| + CXFA_WidgetAcc* pTravelRoot,
|
| + XFA_WIDGETORDER eOrder = XFA_WIDGETORDER_PreOrder);
|
| +class IXFA_ChecksumContext {
|
| + public:
|
| + virtual void Release() = 0;
|
| +
|
| + virtual FX_BOOL StartChecksum() = 0;
|
| + virtual FX_BOOL UpdateChecksum(IFX_FileRead* pSrcFile,
|
| + FX_FILESIZE offset = 0,
|
| + size_t size = 0) = 0;
|
| + virtual void FinishChecksum() = 0;
|
| + virtual void GetChecksum(CFX_ByteString& bsChecksum) = 0;
|
| +
|
| + protected:
|
| + ~IXFA_ChecksumContext() {}
|
| +};
|
| +IXFA_ChecksumContext* XFA_Checksum_Create();
|
| +
|
| +#endif // FXFA_H_
|
|
|