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_ |