summaryrefslogtreecommitdiff
path: root/xfa/include/fxfa
diff options
context:
space:
mode:
authorBo Xu <bo_xu@foxitsoftware.com>2014-10-28 23:03:33 -0700
committerBo Xu <bo_xu@foxitsoftware.com>2014-11-03 11:10:11 -0800
commitfdc00a7042d912aafaabddae4d9c84199921ef23 (patch)
tree32ab8ac91cc68d2cd15b9168782a71b3f3f5e7b9 /xfa/include/fxfa
parente9b38fa38de2c95d8260be31c57d9272c4d127ed (diff)
downloadpdfium-fdc00a7042d912aafaabddae4d9c84199921ef23.tar.xz
Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
Diffstat (limited to 'xfa/include/fxfa')
-rw-r--r--xfa/include/fxfa/fxfa.h622
-rw-r--r--xfa/include/fxfa/fxfa_basic.h1073
-rw-r--r--xfa/include/fxfa/fxfa_objectacc.h931
-rw-r--r--xfa/include/fxfa/fxfa_widget.h101
4 files changed, 2727 insertions, 0 deletions
diff --git a/xfa/include/fxfa/fxfa.h b/xfa/include/fxfa/fxfa.h
new file mode 100644
index 0000000000..a3c3a73e68
--- /dev/null
+++ b/xfa/include/fxfa/fxfa.h
@@ -0,0 +1,622 @@
+// 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
+#define _FXFA
+class IFDE_XMLElement;
+class CXFA_Node;
+class CXFA_NodeList;
+class CXFA_WidgetAcc;
+class IFWL_AdapterTimerMgr;
+class IFX_Font;
+class CFX_Graphics;
+class IXFA_AppProvider;
+class IXFA_App;
+class IXFA_FontMgr;
+class IXFA_DocProvider;
+class IXFA_DocHandler;
+class IXFA_DocView;
+class IXFA_PageViewRender;
+class IXFA_PageView;
+class IXFA_WidgetHandler;
+class IXFA_WidgetIterator;
+class IXFA_MenuHandler;
+class IXFA_ChecksumContext;
+class IXFA_WidgetAccIterator;
+typedef struct _XFA_HDOC {
+ FX_LPVOID pData;
+}* XFA_HDOC;
+typedef struct _XFA_HWIDGET {
+ FX_LPVOID pData;
+}* XFA_HWIDGET;
+#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
+class IXFA_AppProvider
+{
+public:
+
+ virtual void SetAppType(FX_WSTR wsAppType) = 0;
+ virtual void GetAppType(CFX_WideString &wsAppType) = 0;
+
+ virtual void SetFoxitAppType(FX_WSTR wsFoxitAppType)
+ {
+ return;
+ }
+ virtual void GetFoxitAppType(CFX_WideString &wsFoxitAppType)
+ {
+ return;
+ }
+
+ virtual void GetLanguage(CFX_WideString &wsLanguage) = 0;
+
+ virtual void GetPlatform(CFX_WideString &wsPlatform) = 0;
+
+ virtual void GetVariation(CFX_WideString &wsVariation) = 0;
+
+ virtual void GetVersion(CFX_WideString &wsVersion) = 0;
+
+ virtual void GetFoxitVersion(CFX_WideString &wsFoxitVersion)
+ {
+ return;
+ }
+
+ virtual void GetAppName(CFX_WideString& wsName) = 0;
+
+ virtual void GetFoxitAppName(CFX_WideString& wsFoxitName)
+ {
+ return;
+ }
+
+ virtual void Beep(FX_DWORD dwType) = 0;
+
+ virtual FX_INT32 MsgBox(FX_WSTR wsMessage, FX_WSTR wsTitle = FX_WSTRC(L""), FX_DWORD dwIconType = 0, FX_DWORD dwButtonType = 0) = 0;
+ virtual void Response(CFX_WideString &wsAnswer, FX_WSTR wsQuestion, FX_WSTR wsTitle = FX_WSTRC(L""), FX_WSTR wsDefaultAnswer = FX_WSTRC(L""), FX_BOOL bMark = TRUE) = 0;
+ virtual FX_INT32 GetDocumentCountInBatch() = 0;
+ virtual FX_INT32 GetCurDocumentInBatch() = 0;
+ virtual IFX_FileRead* DownloadURL(FX_WSTR wsURL) = 0;
+
+ virtual FX_BOOL PostRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsContentType,
+ FX_WSTR wsEncode, FX_WSTR wsHeader, CFX_WideString &wsResponse) = 0;
+
+ virtual FX_BOOL PutRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsEncode) = 0;
+ virtual void LoadString(FX_INT32 iStringID, CFX_WideString &wsString) = 0;
+ virtual FX_BOOL ShowFileDialog(FX_WSTR wsTitle, FX_WSTR wsFilter, CFX_WideStringArray &wsPathArr, FX_BOOL bOpen = TRUE) = 0;
+ virtual IFWL_AdapterTimerMgr* GetTimerMgr() = 0;;
+};
+class IXFA_FontMgr
+{
+public:
+ virtual void Release() = 0;
+ virtual IFX_Font* GetFont(XFA_HDOC hDoc, FX_WSTR wsFontFamily, FX_DWORD dwFontStyles, FX_WORD wCodePage = 0xFFFF) = 0;
+ virtual IFX_Font* GetDefaultFont(XFA_HDOC hDoc, FX_WSTR wsFontFamily, FX_DWORD dwFontStyles, FX_WORD wCodePage = 0xFFFF) = 0;
+};
+IXFA_FontMgr* XFA_GetDefaultFontMgr();
+class IXFA_App
+{
+public:
+ static IXFA_App* Create(IXFA_AppProvider* pProvider);
+ virtual void Release() = 0;
+ virtual IXFA_DocHandler* GetDocHandler() = 0;
+ virtual XFA_HDOC CreateDoc(IXFA_DocProvider* pProvider, IFX_FileRead* pStream, FX_BOOL bTakeOverFile = TRUE) = 0;
+ virtual XFA_HDOC 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 FX_BOOL CanCopy(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanCut(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanPaste(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanSelectAll(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanDelete(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanDeSelect(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL Copy(XFA_HWIDGET hWidget, CFX_WideString &wsText) = 0;
+ virtual FX_BOOL Cut(XFA_HWIDGET hWidget, CFX_WideString &wsText) = 0;
+ virtual FX_BOOL Paste(XFA_HWIDGET hWidget, const CFX_WideString &wsText) = 0;
+ virtual FX_BOOL SelectAll(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL Delete(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL DeSelect(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanUndo(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL CanRedo(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL Undo(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL Redo(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL GetSuggestWords(XFA_HWIDGET hWidget, CFX_PointF pointf, CFX_ByteStringArray &sSuggest) = 0;
+ virtual FX_BOOL ReplaceSpellCheckWord(XFA_HWIDGET hWidget, CFX_PointF pointf, FX_BSTR 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 void SetChangeMark(XFA_HDOC hDoc) = 0;
+ virtual void InvalidateRect(IXFA_PageView* pPageView, const CFX_RectF& rt, FX_DWORD dwFlags = 0) = 0;
+ virtual void DisplayCaret(XFA_HWIDGET hWidget, FX_BOOL bVisible, const CFX_RectF* pRtAnchor) = 0;
+ virtual FX_BOOL GetPopupPos(XFA_HWIDGET hWidget, FX_FLOAT fMinPopup, FX_FLOAT fMaxPopup,
+ const CFX_RectF &rtAnchor, CFX_RectF &rtPopup) = 0;
+ virtual FX_BOOL PopupMenu(XFA_HWIDGET hWidget, CFX_PointF ptPopup, const CFX_RectF* pRectExclude = NULL) = 0;
+ virtual void PageViewEvent(IXFA_PageView* pPageView, FX_DWORD dwFlags) = 0;
+ virtual void WidgetEvent(XFA_HWIDGET hWidget, CXFA_WidgetAcc* pWidgetData, FX_DWORD dwEvent, FX_LPVOID pParam = NULL, FX_LPVOID pAdditional = NULL) = 0;
+ virtual FX_BOOL RenderCustomWidget(XFA_HWIDGET hWidget, CFX_Graphics* pGS, CFX_Matrix* pMatrix, const CFX_RectF& rtUI)
+ {
+ return FALSE;
+ }
+ virtual FX_INT32 CountPages(XFA_HDOC hDoc) = 0;
+ virtual FX_INT32 GetCurrentPage(XFA_HDOC hDoc) = 0;
+ virtual void SetCurrentPage(XFA_HDOC hDoc, FX_INT32 iCurPage) = 0;
+ virtual FX_BOOL IsCalculationsEnabled(XFA_HDOC hDoc) = 0;
+ virtual void SetCalculationsEnabled(XFA_HDOC hDoc, FX_BOOL bEnabled) = 0;
+ virtual void GetTitle(XFA_HDOC hDoc, CFX_WideString &wsTitle) = 0;
+ virtual void SetTitle(XFA_HDOC hDoc, FX_WSTR wsTitle) = 0;
+ virtual void ExportData(XFA_HDOC hDoc, FX_WSTR wsFilePath, FX_BOOL bXDP = TRUE) = 0;
+ virtual void ImportData(XFA_HDOC hDoc, FX_WSTR wsFilePath) = 0;
+ virtual void GotoURL(XFA_HDOC hDoc, FX_WSTR bsURL, FX_BOOL bAppend = TRUE) = 0;
+ virtual FX_BOOL IsValidationsEnabled(XFA_HDOC hDoc) = 0;
+ virtual void SetValidationsEnabled(XFA_HDOC hDoc, FX_BOOL bEnabled) = 0;
+ virtual void SetFocusWidget(XFA_HDOC hDoc, XFA_HWIDGET hWidget) = 0;
+ virtual void Print(XFA_HDOC hDoc, FX_INT32 nStartPage, FX_INT32 nEndPage, FX_DWORD dwOptions) = 0;
+ virtual FX_INT32 AbsPageCountInBatch(XFA_HDOC hDoc) = 0;
+ virtual FX_INT32 AbsPageInBatch(XFA_HDOC hDoc, XFA_HWIDGET hWidget) = 0;
+ virtual FX_INT32 SheetCountInBatch(XFA_HDOC hDoc) = 0;
+ virtual FX_INT32 SheetInBatch(XFA_HDOC hDoc, XFA_HWIDGET hWidget) = 0;
+ virtual FX_INT32 Verify(XFA_HDOC hDoc, CXFA_Node* pSigNode, FX_BOOL bUsed = TRUE)
+ {
+ return 0;
+ }
+ virtual FX_BOOL Sign(XFA_HDOC hDoc, CXFA_NodeList* pNodeList, FX_WSTR wsExpression, FX_WSTR wsXMLIdent, FX_WSTR wsValue = FX_WSTRC(L"open"), FX_BOOL bUsed = TRUE)
+ {
+ return 0;
+ }
+ virtual CXFA_NodeList* Enumerate(XFA_HDOC hDoc)
+ {
+ return 0;
+ }
+ virtual FX_BOOL Clear(XFA_HDOC hDoc, CXFA_Node* pSigNode, FX_BOOL bCleared = TRUE)
+ {
+ return 0;
+ }
+ virtual void GetURL(XFA_HDOC hDoc, CFX_WideString &wsDocURL) = 0;
+ virtual FX_ARGB GetHighlightColor(XFA_HDOC hDoc) = 0;
+ virtual void AddDoRecord(XFA_HWIDGET hWidget) = 0;
+
+ virtual FX_BOOL SubmitData(XFA_HDOC hDoc, CXFA_Submit submit) = 0;
+ virtual FX_BOOL CheckWord(XFA_HDOC hDoc, FX_BSTR sWord) = 0;
+ virtual FX_BOOL GetSuggestWords(XFA_HDOC hDoc, FX_BSTR sWord, CFX_ByteStringArray& sSuggest) = 0;
+ virtual FX_BOOL GetPDFScriptObject(XFA_HDOC hDoc, FX_BSTR utf8Name, FXJSE_HVALUE hValue) = 0;
+ virtual FX_BOOL GetGlobalProperty(XFA_HDOC hDoc, FX_BSTR szPropName, FXJSE_HVALUE hValue) = 0;
+ virtual FX_BOOL SetGlobalProperty(XFA_HDOC hDoc, FX_BSTR szPropName, FXJSE_HVALUE hValue) = 0;
+ virtual CPDF_Document* OpenPDF(XFA_HDOC hDoc, IFX_FileRead* pFile, FX_BOOL bTakeOverFile) = 0;
+ virtual IFX_FileRead* OpenLinkedFile(XFA_HDOC 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 void ReleaseDoc(XFA_HDOC hDoc) = 0;
+ virtual IXFA_DocProvider* GetDocProvider(XFA_HDOC hDoc) = 0;
+
+ virtual FX_DWORD GetDocType(XFA_HDOC hDoc) = 0;
+ virtual FX_INT32 StartLoad(XFA_HDOC hDoc) = 0;
+ virtual FX_INT32 DoLoad(XFA_HDOC hDoc, IFX_Pause *pPause = NULL) = 0;
+ virtual void StopLoad(XFA_HDOC hDoc) = 0;
+
+ virtual IXFA_DocView* CreateDocView(XFA_HDOC hDoc, FX_DWORD dwView = 0) = 0;
+
+ virtual FX_INT32 CountPackages(XFA_HDOC hDoc) = 0;
+ virtual void GetPackageName(XFA_HDOC hDoc, FX_INT32 iPackage, CFX_WideStringC &wsPackage) = 0;
+
+ virtual FX_BOOL SavePackage(XFA_HDOC hDoc, FX_WSTR wsPackage, IFX_FileWrite* pFile, IXFA_ChecksumContext *pCSContext = NULL) = 0;
+ virtual FX_BOOL CloseDoc(XFA_HDOC hDoc) = 0;
+
+ virtual FX_BOOL ImportData(XFA_HDOC hDoc, IFX_FileRead* pStream, FX_BOOL bXDP = TRUE) = 0;
+ virtual void SetJSERuntime(XFA_HDOC hDoc, FXJSE_HRUNTIME hRuntime) = 0;
+ virtual FXJSE_HVALUE GetXFAScriptObject(XFA_HDOC hDoc) = 0;
+ virtual XFA_ATTRIBUTEENUM GetRestoreState(XFA_HDOC hDoc) = 0;
+ virtual FX_BOOL RunDocScript(XFA_HDOC hDoc, XFA_SCRIPTTYPE eScriptType, FX_WSTR 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 CFX_Object
+{
+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;
+ FX_INT32 m_iCommitKey;
+ FX_BOOL m_bKeyDown;
+ FX_BOOL m_bModifier;
+ FX_BOOL m_bReenter;
+ FX_INT32 m_iSelEnd;
+ FX_INT32 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;
+ FX_INT32 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 XFA_HDOC GetDoc() = 0;
+ virtual FX_INT32 StartLayout(FX_INT32 iStartPage = 0) = 0;
+ virtual FX_INT32 DoLayout(IFX_Pause *pPause = NULL) = 0;
+ virtual void StopLayout() = 0;
+
+ virtual FX_INT32 GetLayoutStatus() = 0;
+ virtual void UpdateDocView() = 0;
+ virtual FX_INT32 CountPageViews() = 0;
+ virtual IXFA_PageView* GetPageView(FX_INT32 nIndex) = 0;
+ virtual XFA_HWIDGET GetWidgetByName(FX_WSTR wsName) = 0;
+ virtual CXFA_WidgetAcc* GetWidgetAccByName(FX_WSTR wsName) = 0;
+ virtual void ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc = NULL) = 0;
+ virtual FX_INT32 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 XFA_HWIDGET GetFocusWidget() = 0;
+ virtual void KillFocus() = 0;
+ virtual FX_BOOL SetFocus(XFA_HWIDGET 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_DocView* GetDocView() = 0;
+ virtual FX_INT32 GetPageViewIndex() = 0;
+ virtual void GetPageViewRect(CFX_RectF &rtPage) = 0;
+
+ virtual void GetDisplayMatrix(CFX_Matrix &mt, const CFX_Rect &rtDisp, FX_INT32 iRotate) = 0;
+
+ virtual FX_INT32 LoadPageView(IFX_Pause *pPause = NULL) = 0;
+ virtual void UnloadPageView() = 0;
+ virtual XFA_HWIDGET 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 CFX_Object
+{
+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 FX_INT32 StartRender(IXFA_PageView* pPageView, CFX_Graphics* pGS, const CFX_Matrix& pMatrix, const CXFA_RenderOptions& options) = 0;
+ virtual FX_INT32 DoRender(IFX_Pause* pPause = NULL) = 0;
+ virtual void StopRender() = 0;
+};
+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 XFA_HWIDGET CreateWidget(XFA_HWIDGET hParent, XFA_WIDGETTYPE eType, XFA_HWIDGET hBefore = NULL) = 0;
+ virtual IXFA_PageView* GetPageView(XFA_HWIDGET hWidget) = 0;
+ virtual void GetRect(XFA_HWIDGET hWidget, CFX_RectF &rt) = 0;
+ virtual FX_DWORD GetStatus(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL GetBBox(XFA_HWIDGET hWidget, CFX_RectF &rtBox, FX_DWORD dwStatus, FX_BOOL bDrawFocus = FALSE) = 0;
+ virtual CXFA_WidgetAcc* GetDataAcc(XFA_HWIDGET hWidget) = 0;
+
+ virtual void GetName(XFA_HWIDGET hWidget, CFX_WideString &wsName, FX_INT32 iNameType = 0) = 0;
+ virtual FX_BOOL GetToolTip(XFA_HWIDGET hWidget, CFX_WideString &wsToolTip) = 0;
+ virtual void SetPrivateData(XFA_HWIDGET hWidget, FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback) = 0;
+ virtual FX_LPVOID GetPrivateData(XFA_HWIDGET hWidget, FX_LPVOID module_id) = 0;
+ virtual FX_BOOL OnMouseEnter(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL OnMouseExit(XFA_HWIDGET hWidget) = 0;
+ virtual FX_BOOL OnLButtonDown(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnLButtonUp(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnLButtonDblClk(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnMouseMove(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnMouseWheel(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_SHORT zDelta, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnRButtonDown(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnRButtonUp(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnRButtonDblClk(XFA_HWIDGET hWidget, FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy) = 0;
+
+ virtual FX_BOOL OnKeyDown(XFA_HWIDGET hWidget, FX_DWORD dwKeyCode, FX_DWORD dwFlags) = 0;
+ virtual FX_BOOL OnKeyUp(XFA_HWIDGET hWidget, FX_DWORD dwKeyCode, FX_DWORD dwFlags) = 0;
+ virtual FX_BOOL OnChar(XFA_HWIDGET hWidget, FX_DWORD dwChar, FX_DWORD dwFlags) = 0;
+ virtual FX_DWORD OnHitTest(XFA_HWIDGET hWidget, FX_FLOAT fx, FX_FLOAT fy) = 0;
+ virtual FX_BOOL OnSetCursor(XFA_HWIDGET hWidget, FX_FLOAT fx, FX_FLOAT fy) = 0;
+
+ virtual void RenderWidget(XFA_HWIDGET 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 FX_INT32 ProcessEvent(CXFA_WidgetAcc* pWidgetAcc, CXFA_EventParam* pParam) = 0;
+};
+class IXFA_WidgetIterator
+{
+public:
+ virtual void Release() = 0;
+ virtual void Reset() = 0;
+ virtual XFA_HWIDGET MoveToFirst() = 0;
+ virtual XFA_HWIDGET MoveToLast() = 0;
+ virtual XFA_HWIDGET MoveToNext() = 0;
+ virtual XFA_HWIDGET MoveToPrevious() = 0;
+ virtual XFA_HWIDGET GetCurrentWidget() = 0;
+ virtual FX_BOOL SetCurrentWidget(XFA_HWIDGET hWidget) = 0;
+};
+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;
+};
+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;
+};
+IXFA_ChecksumContext* XFA_Checksum_Create();
+#endif
diff --git a/xfa/include/fxfa/fxfa_basic.h b/xfa/include/fxfa/fxfa_basic.h
new file mode 100644
index 0000000000..6e45060b19
--- /dev/null
+++ b/xfa/include/fxfa/fxfa_basic.h
@@ -0,0 +1,1073 @@
+// 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_BASIC_H
+#define _FXFA_BASIC_H
+class CXFA_Measurement;
+#define XFA_HASHCODE_Xfa 0xc56b9ff
+#define XFA_HASHCODE_Config 0x4e1e39b6
+#define XFA_HASHCODE_Template 0x803550fc
+#define XFA_HASHCODE_Datasets 0x99b95079
+#define XFA_HASHCODE_Data 0xbde9abda
+#define XFA_HASHCODE_Form 0xcd309ff4
+#define XFA_HASHCODE_LocaleSet 0x5473b6dc
+#define XFA_HASHCODE_ConnectionSet 0xe14c801c
+#define XFA_HASHCODE_SourceSet 0x811929d
+#define XFA_HASHCODE_Xdc 0xc56afbf
+#define XFA_HASHCODE_Pdf 0xb843dba
+#define XFA_HASHCODE_Xfdf 0x48d004a8
+#define XFA_HASHCODE_Xmpmeta 0x132a8fbc
+#define XFA_HASHCODE_Signature 0x8b036f32
+#define XFA_HASHCODE_Stylesheet 0x6038580a
+#define XFA_HASHCODE_XDP 0xc56afcc
+#define XFA_HASHCODE_Record 0x5779d65f
+#define XFA_HASHCODE_DataWindow 0x83a550d2
+#define XFA_HASHCODE_Host 0xdb075bde
+#define XFA_HASHCODE_Log 0x0b1b3d22
+#define XFA_HASHCODE_Event 0x185e41e2
+#define XFA_HASHCODE_Layout 0x7e7e845e
+#define XFA_HASHCODE_Occur 0xf7eebe1c
+#define XFA_HASHCODE_This 0x2d574d58
+#define XFA_HASHCODE_DataDescription 0x2b5df51e
+#define XFA_HASHCODE_Name 0x31b19c1
+enum XFA_PACKET {
+ XFA_PACKET_USER,
+ XFA_PACKET_SourceSet,
+ XFA_PACKET_Pdf,
+ XFA_PACKET_Xdc,
+ XFA_PACKET_XDP,
+ XFA_PACKET_Xmpmeta,
+ XFA_PACKET_Xfdf,
+ XFA_PACKET_Config,
+ XFA_PACKET_LocaleSet,
+ XFA_PACKET_Stylesheet,
+ XFA_PACKET_Template,
+ XFA_PACKET_Signature,
+ XFA_PACKET_Datasets,
+ XFA_PACKET_Form,
+ XFA_PACKET_ConnectionSet,
+};
+enum XFA_XDPPACKET {
+ XFA_XDPPACKET_UNKNOWN = 0,
+ XFA_XDPPACKET_Config = 1 << XFA_PACKET_Config ,
+ XFA_XDPPACKET_Template = 1 << XFA_PACKET_Template ,
+ XFA_XDPPACKET_Datasets = 1 << XFA_PACKET_Datasets ,
+ XFA_XDPPACKET_Form = 1 << XFA_PACKET_Form ,
+ XFA_XDPPACKET_LocaleSet = 1 << XFA_PACKET_LocaleSet ,
+ XFA_XDPPACKET_ConnectionSet = 1 << XFA_PACKET_ConnectionSet ,
+ XFA_XDPPACKET_SourceSet = 1 << XFA_PACKET_SourceSet ,
+ XFA_XDPPACKET_Xdc = 1 << XFA_PACKET_Xdc ,
+ XFA_XDPPACKET_Pdf = 1 << XFA_PACKET_Pdf ,
+ XFA_XDPPACKET_Xfdf = 1 << XFA_PACKET_Xfdf ,
+ XFA_XDPPACKET_Xmpmeta = 1 << XFA_PACKET_Xmpmeta ,
+ XFA_XDPPACKET_Signature = 1 << XFA_PACKET_Signature ,
+ XFA_XDPPACKET_Stylesheet = 1 << XFA_PACKET_Stylesheet ,
+ XFA_XDPPACKET_USER = 1 << XFA_PACKET_USER ,
+ XFA_XDPPACKET_XDP = 1 << XFA_PACKET_XDP ,
+};
+enum XFA_XDPPACKET_FLAGS {
+ XFA_XDPPACKET_FLAGS_COMPLETEMATCH = 1,
+ XFA_XDPPACKET_FLAGS_PREFIXMATCH = 2,
+ XFA_XDPPACKET_FLAGS_NOMATCH = 4,
+ XFA_XDPPACKET_FLAGS_SUPPORTONE = 8,
+ XFA_XDPPACKET_FLAGS_SUPPORTMANY = 16,
+};
+typedef struct _XFA_PACKETINFO {
+ FX_UINT32 uHash;
+ FX_LPCWSTR pName;
+ XFA_XDPPACKET eName;
+ FX_LPCWSTR pURI;
+ FX_DWORD eFlags;
+} XFA_PACKETINFO, * XFA_LPPACKETINFO;
+typedef XFA_PACKETINFO const * XFA_LPCPACKETINFO;
+XFA_LPCPACKETINFO XFA_GetPacketByName(FX_WSTR wsName);
+XFA_LPCPACKETINFO XFA_GetPacketByID(FX_DWORD dwPacket);
+extern const XFA_PACKETINFO g_XFAPacketData[];
+inline XFA_LPCPACKETINFO XFA_GetPacketByIndex(XFA_PACKET ePacket)
+{
+ return g_XFAPacketData + ePacket;
+}
+enum XFA_ATTRIBUTEENUM {
+ XFA_ATTRIBUTEENUM_Asterisk,
+ XFA_ATTRIBUTEENUM_Slash,
+ XFA_ATTRIBUTEENUM_Backslash,
+ XFA_ATTRIBUTEENUM_On,
+ XFA_ATTRIBUTEENUM_Tb,
+ XFA_ATTRIBUTEENUM_Up,
+ XFA_ATTRIBUTEENUM_MetaData,
+ XFA_ATTRIBUTEENUM_Delegate,
+ XFA_ATTRIBUTEENUM_PostSubmit,
+ XFA_ATTRIBUTEENUM_Name,
+ XFA_ATTRIBUTEENUM_Cross,
+ XFA_ATTRIBUTEENUM_Next,
+ XFA_ATTRIBUTEENUM_None,
+ XFA_ATTRIBUTEENUM_ShortEdge,
+ XFA_ATTRIBUTEENUM_1mod10_1mod11,
+ XFA_ATTRIBUTEENUM_Height,
+ XFA_ATTRIBUTEENUM_CrossDiagonal,
+ XFA_ATTRIBUTEENUM_All,
+ XFA_ATTRIBUTEENUM_Any,
+ XFA_ATTRIBUTEENUM_ToRight,
+ XFA_ATTRIBUTEENUM_MatchTemplate,
+ XFA_ATTRIBUTEENUM_Dpl,
+ XFA_ATTRIBUTEENUM_Invisible,
+ XFA_ATTRIBUTEENUM_Fit,
+ XFA_ATTRIBUTEENUM_Width,
+ XFA_ATTRIBUTEENUM_PreSubmit,
+ XFA_ATTRIBUTEENUM_Ipl,
+ XFA_ATTRIBUTEENUM_FlateCompress,
+ XFA_ATTRIBUTEENUM_Med,
+ XFA_ATTRIBUTEENUM_Odd,
+ XFA_ATTRIBUTEENUM_Off,
+ XFA_ATTRIBUTEENUM_Pdf,
+ XFA_ATTRIBUTEENUM_Row,
+ XFA_ATTRIBUTEENUM_Top,
+ XFA_ATTRIBUTEENUM_Xdp,
+ XFA_ATTRIBUTEENUM_Xfd,
+ XFA_ATTRIBUTEENUM_Xml,
+ XFA_ATTRIBUTEENUM_Zip,
+ XFA_ATTRIBUTEENUM_Zpl,
+ XFA_ATTRIBUTEENUM_Visible,
+ XFA_ATTRIBUTEENUM_Exclude,
+ XFA_ATTRIBUTEENUM_MouseEnter,
+ XFA_ATTRIBUTEENUM_Pair,
+ XFA_ATTRIBUTEENUM_Filter,
+ XFA_ATTRIBUTEENUM_MoveLast,
+ XFA_ATTRIBUTEENUM_ExportAndImport,
+ XFA_ATTRIBUTEENUM_Push,
+ XFA_ATTRIBUTEENUM_Portrait,
+ XFA_ATTRIBUTEENUM_Default,
+ XFA_ATTRIBUTEENUM_StoredProc,
+ XFA_ATTRIBUTEENUM_StayBOF,
+ XFA_ATTRIBUTEENUM_StayEOF,
+ XFA_ATTRIBUTEENUM_PostPrint,
+ XFA_ATTRIBUTEENUM_UsCarrier,
+ XFA_ATTRIBUTEENUM_Right,
+ XFA_ATTRIBUTEENUM_PreOpen,
+ XFA_ATTRIBUTEENUM_Actual,
+ XFA_ATTRIBUTEENUM_Rest,
+ XFA_ATTRIBUTEENUM_TopCenter,
+ XFA_ATTRIBUTEENUM_StandardSymbol,
+ XFA_ATTRIBUTEENUM_Initialize,
+ XFA_ATTRIBUTEENUM_JustifyAll,
+ XFA_ATTRIBUTEENUM_Normal,
+ XFA_ATTRIBUTEENUM_Landscape,
+ XFA_ATTRIBUTEENUM_NonInteractive,
+ XFA_ATTRIBUTEENUM_MouseExit,
+ XFA_ATTRIBUTEENUM_Minus,
+ XFA_ATTRIBUTEENUM_DiagonalLeft,
+ XFA_ATTRIBUTEENUM_SimplexPaginated,
+ XFA_ATTRIBUTEENUM_Document,
+ XFA_ATTRIBUTEENUM_Warning,
+ XFA_ATTRIBUTEENUM_Auto,
+ XFA_ATTRIBUTEENUM_Below,
+ XFA_ATTRIBUTEENUM_BottomLeft,
+ XFA_ATTRIBUTEENUM_BottomCenter,
+ XFA_ATTRIBUTEENUM_Tcpl,
+ XFA_ATTRIBUTEENUM_Text,
+ XFA_ATTRIBUTEENUM_Grouping,
+ XFA_ATTRIBUTEENUM_SecureSymbol,
+ XFA_ATTRIBUTEENUM_PreExecute,
+ XFA_ATTRIBUTEENUM_DocClose,
+ XFA_ATTRIBUTEENUM_Keyset,
+ XFA_ATTRIBUTEENUM_Vertical,
+ XFA_ATTRIBUTEENUM_PreSave,
+ XFA_ATTRIBUTEENUM_PreSign,
+ XFA_ATTRIBUTEENUM_Bottom,
+ XFA_ATTRIBUTEENUM_ToTop,
+ XFA_ATTRIBUTEENUM_Verify,
+ XFA_ATTRIBUTEENUM_First,
+ XFA_ATTRIBUTEENUM_ContentArea,
+ XFA_ATTRIBUTEENUM_Solid,
+ XFA_ATTRIBUTEENUM_Pessimistic,
+ XFA_ATTRIBUTEENUM_DuplexPaginated,
+ XFA_ATTRIBUTEENUM_Round,
+ XFA_ATTRIBUTEENUM_Remerge,
+ XFA_ATTRIBUTEENUM_Ordered,
+ XFA_ATTRIBUTEENUM_Percent,
+ XFA_ATTRIBUTEENUM_Even,
+ XFA_ATTRIBUTEENUM_Exit,
+ XFA_ATTRIBUTEENUM_ToolTip,
+ XFA_ATTRIBUTEENUM_OrderedOccurrence,
+ XFA_ATTRIBUTEENUM_ReadOnly,
+ XFA_ATTRIBUTEENUM_Currency,
+ XFA_ATTRIBUTEENUM_Concat,
+ XFA_ATTRIBUTEENUM_Thai,
+ XFA_ATTRIBUTEENUM_Embossed,
+ XFA_ATTRIBUTEENUM_Formdata,
+ XFA_ATTRIBUTEENUM_Greek,
+ XFA_ATTRIBUTEENUM_Decimal,
+ XFA_ATTRIBUTEENUM_Select,
+ XFA_ATTRIBUTEENUM_LongEdge,
+ XFA_ATTRIBUTEENUM_Protected,
+ XFA_ATTRIBUTEENUM_BottomRight,
+ XFA_ATTRIBUTEENUM_Zero,
+ XFA_ATTRIBUTEENUM_ForwardOnly,
+ XFA_ATTRIBUTEENUM_DocReady,
+ XFA_ATTRIBUTEENUM_Hidden,
+ XFA_ATTRIBUTEENUM_Include,
+ XFA_ATTRIBUTEENUM_Dashed,
+ XFA_ATTRIBUTEENUM_MultiSelect,
+ XFA_ATTRIBUTEENUM_Inactive,
+ XFA_ATTRIBUTEENUM_Embed,
+ XFA_ATTRIBUTEENUM_Static,
+ XFA_ATTRIBUTEENUM_OnEntry,
+ XFA_ATTRIBUTEENUM_Cyrillic,
+ XFA_ATTRIBUTEENUM_NonBlank,
+ XFA_ATTRIBUTEENUM_TopRight,
+ XFA_ATTRIBUTEENUM_Hebrew,
+ XFA_ATTRIBUTEENUM_TopLeft,
+ XFA_ATTRIBUTEENUM_Center,
+ XFA_ATTRIBUTEENUM_MoveFirst,
+ XFA_ATTRIBUTEENUM_Diamond,
+ XFA_ATTRIBUTEENUM_PageOdd,
+ XFA_ATTRIBUTEENUM_1mod10,
+ XFA_ATTRIBUTEENUM_Korean,
+ XFA_ATTRIBUTEENUM_AboveEmbedded,
+ XFA_ATTRIBUTEENUM_ZipCompress,
+ XFA_ATTRIBUTEENUM_Numeric,
+ XFA_ATTRIBUTEENUM_Circle,
+ XFA_ATTRIBUTEENUM_ToBottom,
+ XFA_ATTRIBUTEENUM_Inverted,
+ XFA_ATTRIBUTEENUM_Update,
+ XFA_ATTRIBUTEENUM_Isoname,
+ XFA_ATTRIBUTEENUM_Server,
+ XFA_ATTRIBUTEENUM_Position,
+ XFA_ATTRIBUTEENUM_MiddleCenter,
+ XFA_ATTRIBUTEENUM_Optional,
+ XFA_ATTRIBUTEENUM_UsePrinterSetting,
+ XFA_ATTRIBUTEENUM_Outline,
+ XFA_ATTRIBUTEENUM_IndexChange,
+ XFA_ATTRIBUTEENUM_Change,
+ XFA_ATTRIBUTEENUM_PageArea,
+ XFA_ATTRIBUTEENUM_Once,
+ XFA_ATTRIBUTEENUM_Only,
+ XFA_ATTRIBUTEENUM_Open,
+ XFA_ATTRIBUTEENUM_Caption,
+ XFA_ATTRIBUTEENUM_Raised,
+ XFA_ATTRIBUTEENUM_Justify,
+ XFA_ATTRIBUTEENUM_RefAndDescendants,
+ XFA_ATTRIBUTEENUM_Short,
+ XFA_ATTRIBUTEENUM_PageFront,
+ XFA_ATTRIBUTEENUM_Monospace,
+ XFA_ATTRIBUTEENUM_Middle,
+ XFA_ATTRIBUTEENUM_PrePrint,
+ XFA_ATTRIBUTEENUM_Always,
+ XFA_ATTRIBUTEENUM_Unknown,
+ XFA_ATTRIBUTEENUM_ToLeft,
+ XFA_ATTRIBUTEENUM_Above,
+ XFA_ATTRIBUTEENUM_DashDot,
+ XFA_ATTRIBUTEENUM_Gregorian,
+ XFA_ATTRIBUTEENUM_Roman,
+ XFA_ATTRIBUTEENUM_MouseDown,
+ XFA_ATTRIBUTEENUM_Symbol,
+ XFA_ATTRIBUTEENUM_PageEven,
+ XFA_ATTRIBUTEENUM_Sign,
+ XFA_ATTRIBUTEENUM_AddNew,
+ XFA_ATTRIBUTEENUM_Star,
+ XFA_ATTRIBUTEENUM_Optimistic,
+ XFA_ATTRIBUTEENUM_Rl_tb,
+ XFA_ATTRIBUTEENUM_MiddleRight,
+ XFA_ATTRIBUTEENUM_Maintain,
+ XFA_ATTRIBUTEENUM_Package,
+ XFA_ATTRIBUTEENUM_SimplifiedChinese,
+ XFA_ATTRIBUTEENUM_ToCenter,
+ XFA_ATTRIBUTEENUM_Back,
+ XFA_ATTRIBUTEENUM_Unspecified,
+ XFA_ATTRIBUTEENUM_BatchOptimistic,
+ XFA_ATTRIBUTEENUM_Bold,
+ XFA_ATTRIBUTEENUM_Both,
+ XFA_ATTRIBUTEENUM_Butt,
+ XFA_ATTRIBUTEENUM_Client,
+ XFA_ATTRIBUTEENUM_2mod10,
+ XFA_ATTRIBUTEENUM_ImageOnly,
+ XFA_ATTRIBUTEENUM_Horizontal,
+ XFA_ATTRIBUTEENUM_Dotted,
+ XFA_ATTRIBUTEENUM_UserControl,
+ XFA_ATTRIBUTEENUM_DiagonalRight,
+ XFA_ATTRIBUTEENUM_ConsumeData,
+ XFA_ATTRIBUTEENUM_Check,
+ XFA_ATTRIBUTEENUM_Data,
+ XFA_ATTRIBUTEENUM_Down,
+ XFA_ATTRIBUTEENUM_SansSerif,
+ XFA_ATTRIBUTEENUM_Inline,
+ XFA_ATTRIBUTEENUM_TraditionalChinese,
+ XFA_ATTRIBUTEENUM_Warn,
+ XFA_ATTRIBUTEENUM_RefOnly,
+ XFA_ATTRIBUTEENUM_InteractiveForms,
+ XFA_ATTRIBUTEENUM_Word,
+ XFA_ATTRIBUTEENUM_Unordered,
+ XFA_ATTRIBUTEENUM_Required,
+ XFA_ATTRIBUTEENUM_ImportOnly,
+ XFA_ATTRIBUTEENUM_BelowEmbedded,
+ XFA_ATTRIBUTEENUM_Japanese,
+ XFA_ATTRIBUTEENUM_Full,
+ XFA_ATTRIBUTEENUM_Rl_row,
+ XFA_ATTRIBUTEENUM_Vietnamese,
+ XFA_ATTRIBUTEENUM_EastEuropeanRoman,
+ XFA_ATTRIBUTEENUM_MouseUp,
+ XFA_ATTRIBUTEENUM_ExportOnly,
+ XFA_ATTRIBUTEENUM_Clear,
+ XFA_ATTRIBUTEENUM_Click,
+ XFA_ATTRIBUTEENUM_Base64,
+ XFA_ATTRIBUTEENUM_Close,
+ XFA_ATTRIBUTEENUM_Host,
+ XFA_ATTRIBUTEENUM_Global,
+ XFA_ATTRIBUTEENUM_Blank,
+ XFA_ATTRIBUTEENUM_Table,
+ XFA_ATTRIBUTEENUM_Import,
+ XFA_ATTRIBUTEENUM_Custom,
+ XFA_ATTRIBUTEENUM_MiddleLeft,
+ XFA_ATTRIBUTEENUM_PostExecute,
+ XFA_ATTRIBUTEENUM_Radix,
+ XFA_ATTRIBUTEENUM_PostOpen,
+ XFA_ATTRIBUTEENUM_Enter,
+ XFA_ATTRIBUTEENUM_Ignore,
+ XFA_ATTRIBUTEENUM_Lr_tb,
+ XFA_ATTRIBUTEENUM_Fantasy,
+ XFA_ATTRIBUTEENUM_Italic,
+ XFA_ATTRIBUTEENUM_Author,
+ XFA_ATTRIBUTEENUM_ToEdge,
+ XFA_ATTRIBUTEENUM_Choice,
+ XFA_ATTRIBUTEENUM_Disabled,
+ XFA_ATTRIBUTEENUM_CrossHatch,
+ XFA_ATTRIBUTEENUM_DataRef,
+ XFA_ATTRIBUTEENUM_DashDotDot,
+ XFA_ATTRIBUTEENUM_Square,
+ XFA_ATTRIBUTEENUM_Dynamic,
+ XFA_ATTRIBUTEENUM_Manual,
+ XFA_ATTRIBUTEENUM_Etched,
+ XFA_ATTRIBUTEENUM_ValidationState,
+ XFA_ATTRIBUTEENUM_Cursive,
+ XFA_ATTRIBUTEENUM_Last,
+ XFA_ATTRIBUTEENUM_Left,
+ XFA_ATTRIBUTEENUM_Link,
+ XFA_ATTRIBUTEENUM_Long,
+ XFA_ATTRIBUTEENUM_InternationalCarrier,
+ XFA_ATTRIBUTEENUM_PDF1_3,
+ XFA_ATTRIBUTEENUM_PDF1_6,
+ XFA_ATTRIBUTEENUM_Serif,
+ XFA_ATTRIBUTEENUM_PostSave,
+ XFA_ATTRIBUTEENUM_Ready,
+ XFA_ATTRIBUTEENUM_PostSign,
+ XFA_ATTRIBUTEENUM_Arabic,
+ XFA_ATTRIBUTEENUM_Error,
+ XFA_ATTRIBUTEENUM_Urlencoded,
+ XFA_ATTRIBUTEENUM_Lowered,
+};
+enum XFA_ATTRIBUTE {
+ XFA_ATTRIBUTE_H,
+ XFA_ATTRIBUTE_W,
+ XFA_ATTRIBUTE_X,
+ XFA_ATTRIBUTE_Y,
+ XFA_ATTRIBUTE_Id,
+ XFA_ATTRIBUTE_To,
+ XFA_ATTRIBUTE_LineThrough,
+ XFA_ATTRIBUTE_HAlign,
+ XFA_ATTRIBUTE_Typeface,
+ XFA_ATTRIBUTE_BeforeTarget,
+ XFA_ATTRIBUTE_Name,
+ XFA_ATTRIBUTE_Next,
+ XFA_ATTRIBUTE_DataRowCount,
+ XFA_ATTRIBUTE_Break,
+ XFA_ATTRIBUTE_VScrollPolicy,
+ XFA_ATTRIBUTE_FontHorizontalScale,
+ XFA_ATTRIBUTE_TextIndent,
+ XFA_ATTRIBUTE_Context,
+ XFA_ATTRIBUTE_TrayOut,
+ XFA_ATTRIBUTE_Cap,
+ XFA_ATTRIBUTE_Max,
+ XFA_ATTRIBUTE_Min,
+ XFA_ATTRIBUTE_Ref,
+ XFA_ATTRIBUTE_Rid,
+ XFA_ATTRIBUTE_Url,
+ XFA_ATTRIBUTE_Use,
+ XFA_ATTRIBUTE_LeftInset,
+ XFA_ATTRIBUTE_Widows,
+ XFA_ATTRIBUTE_Level,
+ XFA_ATTRIBUTE_BottomInset,
+ XFA_ATTRIBUTE_OverflowTarget,
+ XFA_ATTRIBUTE_AllowMacro,
+ XFA_ATTRIBUTE_PagePosition,
+ XFA_ATTRIBUTE_ColumnWidths,
+ XFA_ATTRIBUTE_OverflowLeader,
+ XFA_ATTRIBUTE_Action,
+ XFA_ATTRIBUTE_NonRepudiation,
+ XFA_ATTRIBUTE_Rate,
+ XFA_ATTRIBUTE_AllowRichText,
+ XFA_ATTRIBUTE_Role,
+ XFA_ATTRIBUTE_OverflowTrailer,
+ XFA_ATTRIBUTE_Operation,
+ XFA_ATTRIBUTE_Timeout,
+ XFA_ATTRIBUTE_TopInset,
+ XFA_ATTRIBUTE_Access,
+ XFA_ATTRIBUTE_CommandType,
+ XFA_ATTRIBUTE_Format,
+ XFA_ATTRIBUTE_DataPrep,
+ XFA_ATTRIBUTE_WidgetData,
+ XFA_ATTRIBUTE_Abbr,
+ XFA_ATTRIBUTE_MarginRight,
+ XFA_ATTRIBUTE_DataDescription,
+ XFA_ATTRIBUTE_EncipherOnly,
+ XFA_ATTRIBUTE_KerningMode,
+ XFA_ATTRIBUTE_Rotate,
+ XFA_ATTRIBUTE_WordCharacterCount,
+ XFA_ATTRIBUTE_Type,
+ XFA_ATTRIBUTE_Reserve,
+ XFA_ATTRIBUTE_TextLocation,
+ XFA_ATTRIBUTE_Priority,
+ XFA_ATTRIBUTE_Underline,
+ XFA_ATTRIBUTE_ModuleWidth,
+ XFA_ATTRIBUTE_Hyphenate,
+ XFA_ATTRIBUTE_Listen,
+ XFA_ATTRIBUTE_Delimiter,
+ XFA_ATTRIBUTE_ContentType,
+ XFA_ATTRIBUTE_StartNew,
+ XFA_ATTRIBUTE_EofAction,
+ XFA_ATTRIBUTE_AllowNeutral,
+ XFA_ATTRIBUTE_Connection,
+ XFA_ATTRIBUTE_BaselineShift,
+ XFA_ATTRIBUTE_OverlinePeriod,
+ XFA_ATTRIBUTE_FracDigits,
+ XFA_ATTRIBUTE_Orientation,
+ XFA_ATTRIBUTE_TimeStamp,
+ XFA_ATTRIBUTE_PrintCheckDigit,
+ XFA_ATTRIBUTE_MarginLeft,
+ XFA_ATTRIBUTE_Stroke,
+ XFA_ATTRIBUTE_ModuleHeight,
+ XFA_ATTRIBUTE_TransferEncoding,
+ XFA_ATTRIBUTE_Usage,
+ XFA_ATTRIBUTE_Presence,
+ XFA_ATTRIBUTE_RadixOffset,
+ XFA_ATTRIBUTE_Preserve,
+ XFA_ATTRIBUTE_AliasNode,
+ XFA_ATTRIBUTE_MultiLine,
+ XFA_ATTRIBUTE_Version,
+ XFA_ATTRIBUTE_StartChar,
+ XFA_ATTRIBUTE_ScriptTest,
+ XFA_ATTRIBUTE_StartAngle,
+ XFA_ATTRIBUTE_CursorType,
+ XFA_ATTRIBUTE_DigitalSignature,
+ XFA_ATTRIBUTE_CodeType,
+ XFA_ATTRIBUTE_Output,
+ XFA_ATTRIBUTE_BookendTrailer,
+ XFA_ATTRIBUTE_ImagingBBox,
+ XFA_ATTRIBUTE_ExcludeInitialCap,
+ XFA_ATTRIBUTE_Force,
+ XFA_ATTRIBUTE_CrlSign,
+ XFA_ATTRIBUTE_Previous,
+ XFA_ATTRIBUTE_PushCharacterCount,
+ XFA_ATTRIBUTE_NullTest,
+ XFA_ATTRIBUTE_RunAt,
+ XFA_ATTRIBUTE_SpaceBelow,
+ XFA_ATTRIBUTE_SweepAngle,
+ XFA_ATTRIBUTE_NumberOfCells,
+ XFA_ATTRIBUTE_LetterSpacing,
+ XFA_ATTRIBUTE_LockType,
+ XFA_ATTRIBUTE_PasswordChar,
+ XFA_ATTRIBUTE_VAlign,
+ XFA_ATTRIBUTE_SourceBelow,
+ XFA_ATTRIBUTE_Inverted,
+ XFA_ATTRIBUTE_Mark,
+ XFA_ATTRIBUTE_MaxH,
+ XFA_ATTRIBUTE_MaxW,
+ XFA_ATTRIBUTE_Truncate,
+ XFA_ATTRIBUTE_MinH,
+ XFA_ATTRIBUTE_MinW,
+ XFA_ATTRIBUTE_Initial,
+ XFA_ATTRIBUTE_Mode,
+ XFA_ATTRIBUTE_Layout,
+ XFA_ATTRIBUTE_Server,
+ XFA_ATTRIBUTE_EmbedPDF,
+ XFA_ATTRIBUTE_OddOrEven,
+ XFA_ATTRIBUTE_TabDefault,
+ XFA_ATTRIBUTE_Contains,
+ XFA_ATTRIBUTE_RightInset,
+ XFA_ATTRIBUTE_MaxChars,
+ XFA_ATTRIBUTE_Open,
+ XFA_ATTRIBUTE_Relation,
+ XFA_ATTRIBUTE_WideNarrowRatio,
+ XFA_ATTRIBUTE_Relevant,
+ XFA_ATTRIBUTE_SignatureType,
+ XFA_ATTRIBUTE_LineThroughPeriod,
+ XFA_ATTRIBUTE_Shape,
+ XFA_ATTRIBUTE_TabStops,
+ XFA_ATTRIBUTE_OutputBelow,
+ XFA_ATTRIBUTE_Short,
+ XFA_ATTRIBUTE_FontVerticalScale,
+ XFA_ATTRIBUTE_Thickness,
+ XFA_ATTRIBUTE_CommitOn,
+ XFA_ATTRIBUTE_RemainCharacterCount,
+ XFA_ATTRIBUTE_KeyAgreement,
+ XFA_ATTRIBUTE_ErrorCorrectionLevel,
+ XFA_ATTRIBUTE_UpsMode,
+ XFA_ATTRIBUTE_MergeMode,
+ XFA_ATTRIBUTE_Circular,
+ XFA_ATTRIBUTE_PsName,
+ XFA_ATTRIBUTE_Trailer,
+ XFA_ATTRIBUTE_UnicodeRange,
+ XFA_ATTRIBUTE_ExecuteType,
+ XFA_ATTRIBUTE_DuplexImposition,
+ XFA_ATTRIBUTE_TrayIn,
+ XFA_ATTRIBUTE_BindingNode,
+ XFA_ATTRIBUTE_BofAction,
+ XFA_ATTRIBUTE_Save,
+ XFA_ATTRIBUTE_TargetType,
+ XFA_ATTRIBUTE_KeyEncipherment,
+ XFA_ATTRIBUTE_CredentialServerPolicy,
+ XFA_ATTRIBUTE_Size,
+ XFA_ATTRIBUTE_InitialNumber,
+ XFA_ATTRIBUTE_Slope,
+ XFA_ATTRIBUTE_CSpace,
+ XFA_ATTRIBUTE_ColSpan,
+ XFA_ATTRIBUTE_Binding,
+ XFA_ATTRIBUTE_Checksum,
+ XFA_ATTRIBUTE_CharEncoding,
+ XFA_ATTRIBUTE_Bind,
+ XFA_ATTRIBUTE_TextEntry,
+ XFA_ATTRIBUTE_Archive,
+ XFA_ATTRIBUTE_Uuid,
+ XFA_ATTRIBUTE_Posture,
+ XFA_ATTRIBUTE_After,
+ XFA_ATTRIBUTE_Orphans,
+ XFA_ATTRIBUTE_QualifiedName,
+ XFA_ATTRIBUTE_Usehref,
+ XFA_ATTRIBUTE_Locale,
+ XFA_ATTRIBUTE_Weight,
+ XFA_ATTRIBUTE_UnderlinePeriod,
+ XFA_ATTRIBUTE_Data,
+ XFA_ATTRIBUTE_Desc,
+ XFA_ATTRIBUTE_Numbered,
+ XFA_ATTRIBUTE_DataColumnCount,
+ XFA_ATTRIBUTE_Overline,
+ XFA_ATTRIBUTE_UrlPolicy,
+ XFA_ATTRIBUTE_AnchorType,
+ XFA_ATTRIBUTE_LabelRef,
+ XFA_ATTRIBUTE_BookendLeader,
+ XFA_ATTRIBUTE_MaxLength,
+ XFA_ATTRIBUTE_AccessKey,
+ XFA_ATTRIBUTE_CursorLocation,
+ XFA_ATTRIBUTE_DelayedOpen,
+ XFA_ATTRIBUTE_Target,
+ XFA_ATTRIBUTE_DataEncipherment,
+ XFA_ATTRIBUTE_AfterTarget,
+ XFA_ATTRIBUTE_Leader,
+ XFA_ATTRIBUTE_Picker,
+ XFA_ATTRIBUTE_From,
+ XFA_ATTRIBUTE_BaseProfile,
+ XFA_ATTRIBUTE_Aspect,
+ XFA_ATTRIBUTE_RowColumnRatio,
+ XFA_ATTRIBUTE_LineHeight,
+ XFA_ATTRIBUTE_Highlight,
+ XFA_ATTRIBUTE_ValueRef,
+ XFA_ATTRIBUTE_MaxEntries,
+ XFA_ATTRIBUTE_DataLength,
+ XFA_ATTRIBUTE_Activity,
+ XFA_ATTRIBUTE_Input,
+ XFA_ATTRIBUTE_Value,
+ XFA_ATTRIBUTE_BlankOrNotBlank,
+ XFA_ATTRIBUTE_AddRevocationInfo,
+ XFA_ATTRIBUTE_GenericFamily,
+ XFA_ATTRIBUTE_Hand,
+ XFA_ATTRIBUTE_Href,
+ XFA_ATTRIBUTE_TextEncoding,
+ XFA_ATTRIBUTE_LeadDigits,
+ XFA_ATTRIBUTE_Permissions,
+ XFA_ATTRIBUTE_SpaceAbove,
+ XFA_ATTRIBUTE_CodeBase,
+ XFA_ATTRIBUTE_Stock,
+ XFA_ATTRIBUTE_IsNull,
+ XFA_ATTRIBUTE_RestoreState,
+ XFA_ATTRIBUTE_ExcludeAllCaps,
+ XFA_ATTRIBUTE_FormatTest,
+ XFA_ATTRIBUTE_HScrollPolicy,
+ XFA_ATTRIBUTE_Join,
+ XFA_ATTRIBUTE_KeyCertSign,
+ XFA_ATTRIBUTE_Radius,
+ XFA_ATTRIBUTE_SourceAbove,
+ XFA_ATTRIBUTE_Override,
+ XFA_ATTRIBUTE_ClassId,
+ XFA_ATTRIBUTE_Disable,
+ XFA_ATTRIBUTE_Scope,
+ XFA_ATTRIBUTE_Match,
+ XFA_ATTRIBUTE_Placement,
+ XFA_ATTRIBUTE_Before,
+ XFA_ATTRIBUTE_WritingScript,
+ XFA_ATTRIBUTE_EndChar,
+ XFA_ATTRIBUTE_Lock,
+ XFA_ATTRIBUTE_Long,
+ XFA_ATTRIBUTE_Intact,
+ XFA_ATTRIBUTE_XdpContent,
+ XFA_ATTRIBUTE_DecipherOnly,
+};
+enum XFA_ELEMENT {
+ XFA_ELEMENT_Ps,
+ XFA_ELEMENT_To,
+ XFA_ELEMENT_Ui,
+ XFA_ELEMENT_RecordSet,
+ XFA_ELEMENT_SubsetBelow,
+ XFA_ELEMENT_SubformSet,
+ XFA_ELEMENT_AdobeExtensionLevel,
+ XFA_ELEMENT_Typeface,
+ XFA_ELEMENT_Break,
+ XFA_ELEMENT_FontInfo,
+ XFA_ELEMENT_NumberPattern,
+ XFA_ELEMENT_DynamicRender,
+ XFA_ELEMENT_PrintScaling,
+ XFA_ELEMENT_CheckButton,
+ XFA_ELEMENT_DatePatterns,
+ XFA_ELEMENT_SourceSet,
+ XFA_ELEMENT_Amd,
+ XFA_ELEMENT_Arc,
+ XFA_ELEMENT_Day,
+ XFA_ELEMENT_Era,
+ XFA_ELEMENT_Jog,
+ XFA_ELEMENT_Log,
+ XFA_ELEMENT_Map,
+ XFA_ELEMENT_Mdp,
+ XFA_ELEMENT_BreakBefore,
+ XFA_ELEMENT_Oid,
+ XFA_ELEMENT_Pcl,
+ XFA_ELEMENT_Pdf,
+ XFA_ELEMENT_Ref,
+ XFA_ELEMENT_Uri,
+ XFA_ELEMENT_Xdc,
+ XFA_ELEMENT_Xdp,
+ XFA_ELEMENT_Xfa,
+ XFA_ELEMENT_Xsl,
+ XFA_ELEMENT_Zpl,
+ XFA_ELEMENT_Cache,
+ XFA_ELEMENT_Margin,
+ XFA_ELEMENT_KeyUsage,
+ XFA_ELEMENT_Exclude,
+ XFA_ELEMENT_ChoiceList,
+ XFA_ELEMENT_Level,
+ XFA_ELEMENT_LabelPrinter,
+ XFA_ELEMENT_CalendarSymbols,
+ XFA_ELEMENT_Para,
+ XFA_ELEMENT_Part,
+ XFA_ELEMENT_Pdfa,
+ XFA_ELEMENT_Filter,
+ XFA_ELEMENT_Present,
+ XFA_ELEMENT_Pagination,
+ XFA_ELEMENT_Encoding,
+ XFA_ELEMENT_Event,
+ XFA_ELEMENT_Whitespace,
+ XFA_ELEMENT_DefaultUi,
+ XFA_ELEMENT_DataModel,
+ XFA_ELEMENT_Barcode,
+ XFA_ELEMENT_TimePattern,
+ XFA_ELEMENT_BatchOutput,
+ XFA_ELEMENT_Enforce,
+ XFA_ELEMENT_CurrencySymbols,
+ XFA_ELEMENT_AddSilentPrint,
+ XFA_ELEMENT_Rename,
+ XFA_ELEMENT_Operation,
+ XFA_ELEMENT_Typefaces,
+ XFA_ELEMENT_SubjectDNs,
+ XFA_ELEMENT_Issuers,
+ XFA_ELEMENT_SignaturePseudoModel,
+ XFA_ELEMENT_WsdlConnection,
+ XFA_ELEMENT_Debug,
+ XFA_ELEMENT_Delta,
+ XFA_ELEMENT_EraNames,
+ XFA_ELEMENT_ModifyAnnots,
+ XFA_ELEMENT_StartNode,
+ XFA_ELEMENT_Button,
+ XFA_ELEMENT_Format,
+ XFA_ELEMENT_Border,
+ XFA_ELEMENT_Area,
+ XFA_ELEMENT_Hyphenation,
+ XFA_ELEMENT_Text,
+ XFA_ELEMENT_Time,
+ XFA_ELEMENT_Type,
+ XFA_ELEMENT_Overprint,
+ XFA_ELEMENT_Certificates,
+ XFA_ELEMENT_EncryptionMethods,
+ XFA_ELEMENT_SetProperty,
+ XFA_ELEMENT_PrinterName,
+ XFA_ELEMENT_StartPage,
+ XFA_ELEMENT_PageOffset,
+ XFA_ELEMENT_DateTime,
+ XFA_ELEMENT_Comb,
+ XFA_ELEMENT_Pattern,
+ XFA_ELEMENT_IfEmpty,
+ XFA_ELEMENT_SuppressBanner,
+ XFA_ELEMENT_OutputBin,
+ XFA_ELEMENT_Field,
+ XFA_ELEMENT_Agent,
+ XFA_ELEMENT_OutputXSL,
+ XFA_ELEMENT_AdjustData,
+ XFA_ELEMENT_AutoSave,
+ XFA_ELEMENT_ContentArea,
+ XFA_ELEMENT_EventPseudoModel,
+ XFA_ELEMENT_WsdlAddress,
+ XFA_ELEMENT_Solid,
+ XFA_ELEMENT_DateTimeSymbols,
+ XFA_ELEMENT_EncryptionLevel,
+ XFA_ELEMENT_Edge,
+ XFA_ELEMENT_Stipple,
+ XFA_ELEMENT_Attributes,
+ XFA_ELEMENT_VersionControl,
+ XFA_ELEMENT_Meridiem,
+ XFA_ELEMENT_ExclGroup,
+ XFA_ELEMENT_ToolTip,
+ XFA_ELEMENT_Compress,
+ XFA_ELEMENT_Reason,
+ XFA_ELEMENT_Execute,
+ XFA_ELEMENT_ContentCopy,
+ XFA_ELEMENT_DateTimeEdit,
+ XFA_ELEMENT_Config,
+ XFA_ELEMENT_Image,
+ XFA_ELEMENT_SharpxHTML,
+ XFA_ELEMENT_NumberOfCopies,
+ XFA_ELEMENT_BehaviorOverride,
+ XFA_ELEMENT_TimeStamp,
+ XFA_ELEMENT_Month,
+ XFA_ELEMENT_ViewerPreferences,
+ XFA_ELEMENT_ScriptModel,
+ XFA_ELEMENT_Decimal,
+ XFA_ELEMENT_Subform,
+ XFA_ELEMENT_Select,
+ XFA_ELEMENT_Window,
+ XFA_ELEMENT_LocaleSet,
+ XFA_ELEMENT_Handler,
+ XFA_ELEMENT_HostPseudoModel,
+ XFA_ELEMENT_Presence,
+ XFA_ELEMENT_Record,
+ XFA_ELEMENT_Embed,
+ XFA_ELEMENT_Version,
+ XFA_ELEMENT_Command,
+ XFA_ELEMENT_Copies,
+ XFA_ELEMENT_Staple,
+ XFA_ELEMENT_SubmitFormat,
+ XFA_ELEMENT_Boolean,
+ XFA_ELEMENT_Message,
+ XFA_ELEMENT_Output,
+ XFA_ELEMENT_PsMap,
+ XFA_ELEMENT_ExcludeNS,
+ XFA_ELEMENT_Assist,
+ XFA_ELEMENT_Picture,
+ XFA_ELEMENT_Traversal,
+ XFA_ELEMENT_SilentPrint,
+ XFA_ELEMENT_WebClient,
+ XFA_ELEMENT_LayoutPseudoModel,
+ XFA_ELEMENT_Producer,
+ XFA_ELEMENT_Corner,
+ XFA_ELEMENT_MsgId,
+ XFA_ELEMENT_Color,
+ XFA_ELEMENT_Keep,
+ XFA_ELEMENT_Query,
+ XFA_ELEMENT_Insert,
+ XFA_ELEMENT_ImageEdit,
+ XFA_ELEMENT_Validate,
+ XFA_ELEMENT_DigestMethods,
+ XFA_ELEMENT_NumberPatterns,
+ XFA_ELEMENT_PageSet,
+ XFA_ELEMENT_Integer,
+ XFA_ELEMENT_SoapAddress,
+ XFA_ELEMENT_Equate,
+ XFA_ELEMENT_FormFieldFilling,
+ XFA_ELEMENT_PageRange,
+ XFA_ELEMENT_Update,
+ XFA_ELEMENT_ConnectString,
+ XFA_ELEMENT_Mode,
+ XFA_ELEMENT_Layout,
+ XFA_ELEMENT_Sharpxml,
+ XFA_ELEMENT_XsdConnection,
+ XFA_ELEMENT_Traverse,
+ XFA_ELEMENT_Encodings,
+ XFA_ELEMENT_Template,
+ XFA_ELEMENT_Acrobat,
+ XFA_ELEMENT_ValidationMessaging,
+ XFA_ELEMENT_Signing,
+ XFA_ELEMENT_DataWindow,
+ XFA_ELEMENT_Script,
+ XFA_ELEMENT_AddViewerPreferences,
+ XFA_ELEMENT_AlwaysEmbed,
+ XFA_ELEMENT_PasswordEdit,
+ XFA_ELEMENT_NumericEdit,
+ XFA_ELEMENT_EncryptionMethod,
+ XFA_ELEMENT_Change,
+ XFA_ELEMENT_PageArea,
+ XFA_ELEMENT_SubmitUrl,
+ XFA_ELEMENT_Oids,
+ XFA_ELEMENT_Signature,
+ XFA_ELEMENT_ADBE_JSConsole,
+ XFA_ELEMENT_Caption,
+ XFA_ELEMENT_Relevant,
+ XFA_ELEMENT_FlipLabel,
+ XFA_ELEMENT_ExData,
+ XFA_ELEMENT_DayNames,
+ XFA_ELEMENT_SoapAction,
+ XFA_ELEMENT_DefaultTypeface,
+ XFA_ELEMENT_Manifest,
+ XFA_ELEMENT_Overflow,
+ XFA_ELEMENT_Linear,
+ XFA_ELEMENT_CurrencySymbol,
+ XFA_ELEMENT_Delete,
+ XFA_ELEMENT_Deltas,
+ XFA_ELEMENT_DigestMethod,
+ XFA_ELEMENT_InstanceManager,
+ XFA_ELEMENT_EquateRange,
+ XFA_ELEMENT_Medium,
+ XFA_ELEMENT_TextEdit,
+ XFA_ELEMENT_TemplateCache,
+ XFA_ELEMENT_CompressObjectStream,
+ XFA_ELEMENT_DataValue,
+ XFA_ELEMENT_AccessibleContent,
+ XFA_ELEMENT_NodeList,
+ XFA_ELEMENT_IncludeXDPContent,
+ XFA_ELEMENT_XmlConnection,
+ XFA_ELEMENT_ValidateApprovalSignatures,
+ XFA_ELEMENT_SignData,
+ XFA_ELEMENT_Packets,
+ XFA_ELEMENT_DatePattern,
+ XFA_ELEMENT_DuplexOption,
+ XFA_ELEMENT_Base,
+ XFA_ELEMENT_Bind,
+ XFA_ELEMENT_Compression,
+ XFA_ELEMENT_User,
+ XFA_ELEMENT_Rectangle,
+ XFA_ELEMENT_EffectiveOutputPolicy,
+ XFA_ELEMENT_ADBE_JSDebugger,
+ XFA_ELEMENT_Acrobat7,
+ XFA_ELEMENT_Interactive,
+ XFA_ELEMENT_Locale,
+ XFA_ELEMENT_CurrentPage,
+ XFA_ELEMENT_Data,
+ XFA_ELEMENT_Date,
+ XFA_ELEMENT_Desc,
+ XFA_ELEMENT_Encrypt,
+ XFA_ELEMENT_Draw,
+ XFA_ELEMENT_Encryption,
+ XFA_ELEMENT_MeridiemNames,
+ XFA_ELEMENT_Messaging,
+ XFA_ELEMENT_Speak,
+ XFA_ELEMENT_DataGroup,
+ XFA_ELEMENT_Common,
+ XFA_ELEMENT_Sharptext,
+ XFA_ELEMENT_PaginationOverride,
+ XFA_ELEMENT_Reasons,
+ XFA_ELEMENT_SignatureProperties,
+ XFA_ELEMENT_Threshold,
+ XFA_ELEMENT_AppearanceFilter,
+ XFA_ELEMENT_Fill,
+ XFA_ELEMENT_Font,
+ XFA_ELEMENT_Form,
+ XFA_ELEMENT_MediumInfo,
+ XFA_ELEMENT_Certificate,
+ XFA_ELEMENT_Password,
+ XFA_ELEMENT_RunScripts,
+ XFA_ELEMENT_Trace,
+ XFA_ELEMENT_Float,
+ XFA_ELEMENT_RenderPolicy,
+ XFA_ELEMENT_LogPseudoModel,
+ XFA_ELEMENT_Destination,
+ XFA_ELEMENT_Value,
+ XFA_ELEMENT_Bookend,
+ XFA_ELEMENT_ExObject,
+ XFA_ELEMENT_OpenAction,
+ XFA_ELEMENT_NeverEmbed,
+ XFA_ELEMENT_BindItems,
+ XFA_ELEMENT_Calculate,
+ XFA_ELEMENT_Print,
+ XFA_ELEMENT_Extras,
+ XFA_ELEMENT_Proto,
+ XFA_ELEMENT_DSigData,
+ XFA_ELEMENT_Creator,
+ XFA_ELEMENT_Connect,
+ XFA_ELEMENT_Permissions,
+ XFA_ELEMENT_ConnectionSet,
+ XFA_ELEMENT_Submit,
+ XFA_ELEMENT_Range,
+ XFA_ELEMENT_Linearized,
+ XFA_ELEMENT_Packet,
+ XFA_ELEMENT_RootElement,
+ XFA_ELEMENT_PlaintextMetadata,
+ XFA_ELEMENT_NumberSymbols,
+ XFA_ELEMENT_PrintHighQuality,
+ XFA_ELEMENT_Driver,
+ XFA_ELEMENT_IncrementalLoad,
+ XFA_ELEMENT_SubjectDN,
+ XFA_ELEMENT_CompressLogicalStructure,
+ XFA_ELEMENT_IncrementalMerge,
+ XFA_ELEMENT_Radial,
+ XFA_ELEMENT_Variables,
+ XFA_ELEMENT_TimePatterns,
+ XFA_ELEMENT_EffectiveInputPolicy,
+ XFA_ELEMENT_NameAttr,
+ XFA_ELEMENT_Conformance,
+ XFA_ELEMENT_Transform,
+ XFA_ELEMENT_LockDocument,
+ XFA_ELEMENT_BreakAfter,
+ XFA_ELEMENT_Line,
+ XFA_ELEMENT_List,
+ XFA_ELEMENT_Source,
+ XFA_ELEMENT_Occur,
+ XFA_ELEMENT_PickTrayByPDFSize,
+ XFA_ELEMENT_MonthNames,
+ XFA_ELEMENT_Severity,
+ XFA_ELEMENT_GroupParent,
+ XFA_ELEMENT_DocumentAssembly,
+ XFA_ELEMENT_NumberSymbol,
+ XFA_ELEMENT_Tagged,
+ XFA_ELEMENT_Items,
+};
+#define XFA_ELEMENT_UNKNOWN ((XFA_ELEMENT)-1)
+typedef struct _XFA_ELEMENTINFO {
+ FX_UINT32 uHash;
+ FX_LPCWSTR pName;
+ XFA_ELEMENT eName;
+ FX_DWORD dwPackets;
+ FX_DWORD eObjectType;
+} XFA_ELEMENTINFO, * XFA_LPELEMENTINFO;
+typedef XFA_ELEMENTINFO const * XFA_LPCELEMENTINFO;
+FX_INT32 XFA_GetElementCount();
+XFA_LPCELEMENTINFO XFA_GetElementByName(FX_WSTR wsName);
+XFA_LPCELEMENTINFO XFA_GetElementByID(XFA_ELEMENT eName);
+enum XFA_ATTRIBUTETYPE {
+ XFA_ATTRIBUTETYPE_NOTSURE,
+ XFA_ATTRIBUTETYPE_Enum,
+ XFA_ATTRIBUTETYPE_Cdata,
+ XFA_ATTRIBUTETYPE_Boolean,
+ XFA_ATTRIBUTETYPE_Integer,
+ XFA_ATTRIBUTETYPE_Measure,
+};
+typedef struct _XFA_ATTRIBUTEINFO {
+ FX_UINT32 uHash;
+ FX_LPCWSTR pName;
+ XFA_ATTRIBUTE eName;
+ XFA_ATTRIBUTETYPE eType;
+ FX_DWORD dwPackets;
+ FX_LPVOID pDefValue;
+} XFA_ATTRIBUTEINFO, * XFA_LPATTRIBUTEINFO;
+typedef XFA_ATTRIBUTEINFO const * XFA_LPCATTRIBUTEINFO;
+FX_INT32 XFA_GetAttributeCount();
+XFA_LPCATTRIBUTEINFO XFA_GetAttributeByName(FX_WSTR wsName);
+XFA_LPCATTRIBUTEINFO XFA_GetAttributeByID(XFA_ATTRIBUTE eName);
+FX_BOOL XFA_GetAttributeDefaultValue(FX_LPVOID &pValue, XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, XFA_ATTRIBUTETYPE eType, FX_DWORD dwPacket);
+XFA_ATTRIBUTEENUM XFA_GetAttributeDefaultValue_Enum(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, FX_DWORD dwPacket);
+CFX_WideStringC XFA_GetAttributeDefaultValue_Cdata(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, FX_DWORD dwPacket);
+FX_BOOL XFA_GetAttributeDefaultValue_Boolean(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, FX_DWORD dwPacket);
+FX_INT32 XFA_GetAttributeDefaultValue_Integer(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, FX_DWORD dwPacket);
+CXFA_Measurement XFA_GetAttributeDefaultValue_Measure(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, FX_DWORD dwPacket);
+typedef struct _XFA_ELEMENTHIERARCHY {
+ FX_WORD wStart;
+ FX_WORD wCount;
+ FX_WORD wParentIndex;
+} XFA_ELEMENTHIERARCHY, * XFA_LPELEMENTHIERARCHY;
+typedef XFA_ELEMENTHIERARCHY const * XFA_LPCELEMENTHIERARCHY;
+typedef struct _XFA_SCRIPTHIERARCHY {
+ FX_WORD wMethodStart;
+ FX_WORD wMethodCount;
+ FX_WORD wAttributeStart;
+ FX_WORD wAttributeCount;
+ FX_SHORT wParentIndex;
+} XFA_SCRIPTHIERARCHY, * XFA_LPSCRIPTHIERARCHY;
+typedef XFA_SCRIPTHIERARCHY const * XFA_LPCSCRIPTHIERARCHY;
+FX_LPCWORD XFA_GetElementChildren(XFA_ELEMENT eElement, FX_INT32 &iCount);
+FX_LPCBYTE XFA_GetElementAttributes(XFA_ELEMENT eElement, FX_INT32 &iCount);
+XFA_LPCELEMENTINFO XFA_GetChildOfElement(XFA_ELEMENT eElement, XFA_ELEMENT eChild, FX_DWORD dwPacket);
+XFA_LPCATTRIBUTEINFO XFA_GetAttributeOfElement(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, FX_DWORD dwPacket);
+#define XFA_PROPERTYFLAG_OneOf 0x01
+#define XFA_PROPERTYFLAG_DefaultOneOf 0x02
+typedef struct _XFA_PROPERTY {
+ FX_WORD eName;
+ FX_BYTE uOccur;
+ FX_BYTE uFlags;
+} XFA_PROPERTY, * XFA_LPPROPERTY;
+typedef XFA_PROPERTY const * XFA_LPCPROPERTY;
+XFA_LPCPROPERTY XFA_GetElementProperties(XFA_ELEMENT eElement, FX_INT32 &iCount);
+XFA_LPCPROPERTY XFA_GetPropertyOfElement(XFA_ELEMENT eElement, XFA_ELEMENT eProperty, FX_DWORD dwPacket);
+typedef struct _XFA_ATTRIBUTEENUMINFO {
+ FX_UINT32 uHash;
+ FX_LPCWSTR pName;
+ XFA_ATTRIBUTEENUM eName;
+} XFA_ATTRIBUTEENUMINFO, * XFA_LPATTRIBUTEENUMINFO;
+typedef XFA_ATTRIBUTEENUMINFO const * XFA_LPCATTRIBUTEENUMINFO;
+XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByName(FX_WSTR wsName);
+XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName);
+enum XFA_UNIT {
+ XFA_UNIT_Unknown,
+ XFA_UNIT_Percent,
+ XFA_UNIT_Angle,
+ XFA_UNIT_Em,
+ XFA_UNIT_Pt,
+ XFA_UNIT_In,
+ XFA_UNIT_Pc,
+ XFA_UNIT_Cm,
+ XFA_UNIT_Mm,
+ XFA_UNIT_Mp,
+};
+class CXFA_Measurement
+{
+public:
+ void Set(FX_WSTR wsMeasure);
+ void Set(FX_FLOAT fValue, XFA_UNIT eUnit)
+ {
+ m_fValue = fValue;
+ m_eUnit = eUnit;
+ }
+
+ XFA_UNIT GetUnit() const
+ {
+ return m_eUnit;
+ }
+ FX_FLOAT GetValue() const
+ {
+ return m_fValue;
+ }
+ FX_BOOL ToString(CFX_WideString &wsMeasure) const;
+ FX_BOOL ToUnit(XFA_UNIT eUnit, FX_FLOAT &fValue) const;
+ FX_FLOAT ToUnit(XFA_UNIT eUnit) const
+ {
+ FX_FLOAT f;
+ return ToUnit(eUnit, f) ? f : 0;
+ }
+ CXFA_Measurement()
+ {
+ Set(-1, XFA_UNIT_Unknown);
+ }
+ CXFA_Measurement(FX_WSTR wsMeasure)
+ {
+ Set(wsMeasure);
+ }
+ CXFA_Measurement(FX_FLOAT fValue, XFA_UNIT eUnit)
+ {
+ Set(fValue, eUnit);
+ }
+ static XFA_UNIT GetUnit(FX_WSTR wsUnit);
+protected:
+ FX_FLOAT m_fValue;
+ XFA_UNIT m_eUnit;
+};
+class CFXJSE_Arguments;
+class CXFA_Object;
+typedef void (CXFA_Object::*XFA_METHOD_CALLBACK) (CFXJSE_Arguments* pArguments);
+typedef struct _XFA_METHODINFO {
+ FX_UINT32 uHash;
+ FX_LPCWSTR pName;
+ XFA_METHOD_CALLBACK lpfnCallback;
+} XFA_METHODINFO, * XFA_LPMETHODINFO;
+typedef XFA_METHODINFO const * XFA_LPCMETHODINFO;
+FX_INT32 XFA_GetMethodCount();
+XFA_LPCMETHODINFO XFA_GetMethodByName(XFA_ELEMENT eElement, FX_WSTR wsMethodName);
+typedef void (CXFA_Object::*XFA_ATTRIBUTE_CALLBACK) (FXJSE_HVALUE hValue, FX_BOOL bSetting, XFA_ATTRIBUTE eAttribute);
+enum XFA_SCRIPT_TYPE {
+ XFA_SCRIPT_Basic,
+ XFA_SCRIPT_Object,
+};
+typedef struct _XFA_SCRIPTATTRIBUTEINFO {
+ FX_UINT32 uHash;
+ FX_LPCWSTR pName;
+ XFA_ATTRIBUTE_CALLBACK lpfnCallback;
+ FX_INT32 eAttribute;
+ FX_WORD eValueType;
+} XFA_SCRIPTATTRIBUTEINFO, * XFA_LPSCRIPTATTRIBUTEINFO;
+typedef XFA_SCRIPTATTRIBUTEINFO const * XFA_LPCSCRIPTATTRIBUTEINFO;
+XFA_LPCSCRIPTATTRIBUTEINFO XFA_GetScriptAttributeByName(XFA_ELEMENT eElement, FX_WSTR wsAttributeName);
+#endif
diff --git a/xfa/include/fxfa/fxfa_objectacc.h b/xfa/include/fxfa/fxfa_objectacc.h
new file mode 100644
index 0000000000..14bd1ed69d
--- /dev/null
+++ b/xfa/include/fxfa/fxfa_objectacc.h
@@ -0,0 +1,931 @@
+// 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_NODEACC_H
+#define _FXFA_NODEACC_H
+class CXFA_Node;
+class IFX_Locale;
+class CXFA_Data;
+class CXFA_Font;
+class CXFA_Fill;
+class CXFA_Margin;
+class CXFA_Caption;
+class CXFA_Para;
+class CXFA_Event;
+class CXFA_Script;
+class CXFA_Value;
+class CXFA_Calculate;
+class CXFA_Line;
+class CXFA_Text;
+class CXFA_ExData;
+class CXFA_Image;
+class CXFA_Validate;
+class CXFA_Variables;
+class CXFA_Bind;
+class CXFA_Assist;
+class CXFA_ToolTip;
+class CXFA_Keep;
+class CXFA_Submit;
+class CXFA_BindItems;
+class CXFA_Stroke;
+class CXFA_Corner;
+class CXFA_Edge;
+class CXFA_Box;
+class CXFA_Arc;
+class CXFA_Border;
+class CXFA_Rectangle;
+class CXFA_WidgetData;
+class CXFA_Occur;
+class CXFA_Filter;
+class CXFA_Certificate;
+class CXFA_WrapCertificate;
+class CXFA_Oids;
+class CXFA_SubjectDNs;
+class CXFA_DigestMethods;
+class CXFA_Encodings;
+class CXFA_EncryptionMethods;
+class CXFA_Reasons;
+class CXFA_Manifest;
+inline FX_BOOL XFA_IsSpace(FX_WCHAR c)
+{
+ return (c == 0x20) || (c == 0x0d) || (c == 0x0a) || (c == 0x09);
+}
+inline FX_BOOL XFA_IsDigit(FX_WCHAR c)
+{
+ return c >= '0' && c <= '9';
+}
+typedef CFX_ArrayTemplate<CXFA_Node*> CXFA_NodeArray;
+typedef CFX_ArrayTemplate<CXFA_Object*> CXFA_ObjArray;
+class CXFA_Data : public CFX_Object
+{
+public:
+ CXFA_Data(CXFA_Node* pNode) : m_pNode(pNode) {}
+ operator CXFA_Node*() const
+ {
+ return m_pNode;
+ }
+ CXFA_Node* GetNode()
+ {
+ return m_pNode;
+ }
+
+ FX_BOOL IsExistInXML() const
+ {
+ return m_pNode != NULL;
+ }
+
+ XFA_ELEMENT GetClassID() const;
+protected:
+ FX_BOOL TryMeasure(XFA_ATTRIBUTE eAttr, FX_FLOAT &fValue, FX_BOOL bUseDefault = FALSE) const;
+ FX_BOOL SetMeasure(XFA_ATTRIBUTE eAttr, FX_FLOAT fValue);
+ CXFA_Node* m_pNode;
+};
+class CXFA_Fill : public CXFA_Data
+{
+public:
+ CXFA_Fill(CXFA_Node* pNode);
+ ~CXFA_Fill();
+
+ FX_INT32 GetPresence();
+
+ FX_ARGB GetColor(FX_BOOL bText = FALSE);
+
+ void SetColor(FX_ARGB color);
+
+
+ FX_INT32 GetFillType();
+
+ FX_INT32 GetPattern(FX_ARGB& foreColor);
+
+ FX_INT32 GetStipple(FX_ARGB& stippleColor);
+
+ FX_INT32 GetLinear(FX_ARGB& endColor);
+
+ FX_INT32 GetRadial(FX_ARGB& endColor);
+ FX_BOOL SetPresence(FX_INT32 iPresence);
+ FX_BOOL SetFillType(FX_INT32 iType);
+ FX_BOOL SetPattern(FX_INT32 iPattern, FX_ARGB foreColor);
+ FX_BOOL SetStipple(FX_INT32 iStipple, FX_ARGB stippleColor);
+ FX_BOOL SetLinear(FX_INT32 iLinear, FX_ARGB endColor);
+ FX_BOOL SetRadial(FX_INT32 iRadial, FX_ARGB endColor);
+};
+class CXFA_Margin : public CXFA_Data
+{
+public:
+ CXFA_Margin(CXFA_Node* pNode);
+ FX_BOOL GetLeftInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
+ FX_BOOL GetTopInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
+ FX_BOOL GetRightInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
+ FX_BOOL GetBottomInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
+ FX_BOOL SetLeftInset(FX_FLOAT fInset);
+ FX_BOOL SetTopInset(FX_FLOAT fInset);
+ FX_BOOL SetRightInset(FX_FLOAT fInset);
+ FX_BOOL SetBottomInset(FX_FLOAT fInset);
+};
+class CXFA_Font : public CXFA_Data
+{
+public:
+ CXFA_Font(CXFA_Node* pNode);
+
+ FX_FLOAT GetBaselineShift();
+
+ FX_FLOAT GetHorizontalScale();
+
+ FX_FLOAT GetVerticalScale();
+
+ FX_FLOAT GetLetterSpacing();
+
+ FX_INT32 GetLineThrough();
+
+ FX_INT32 GetLineThroughPeriod();
+
+ FX_INT32 GetOverline();
+
+ FX_INT32 GetOverlinePeriod();
+
+ FX_INT32 GetUnderline();
+
+ FX_INT32 GetUnderlinePeriod();
+
+ FX_FLOAT GetFontSize();
+
+ void GetTypeface(CFX_WideStringC &wsTypeFace);
+
+ FX_BOOL IsBold();
+
+ FX_BOOL IsItalic();
+
+ FX_BOOL IsUseKerning();
+
+ FX_ARGB GetColor();
+
+ void SetColor(FX_ARGB color);
+ FX_BOOL SetBaselineShift(FX_FLOAT fBaselineShift);
+ FX_BOOL SetHorizontalScale(FX_FLOAT fHorizontalScale);
+ FX_BOOL SetVerticalScale(FX_FLOAT fVerticalScale);
+ FX_BOOL SetLetterSpacing(FX_FLOAT fLetterSpacing, XFA_UNIT eUnit);
+ FX_BOOL SetLineThrough(FX_INT32 iLineThrough);
+ FX_BOOL SetLineThroughPeriod(FX_INT32 iLineThroughPeriod);
+ FX_BOOL SetOverline(FX_INT32 iOverline);
+ FX_BOOL SetOverlinePeriod(FX_INT32 iOverlinePeriod);
+ FX_BOOL SetUnderline(FX_INT32 iUnderline);
+ FX_BOOL SetUnderlinePeriod(FX_INT32 iUnderlinePeriod);
+};
+class CXFA_Caption : public CXFA_Data
+{
+public:
+ CXFA_Caption(CXFA_Node* pNode);
+
+ FX_INT32 GetPresence();
+
+ FX_INT32 GetPlacementType();
+
+ FX_FLOAT GetReserve();
+
+ CXFA_Margin GetMargin();
+
+ CXFA_Font GetFont();
+
+ CXFA_Value GetValue();
+
+ CXFA_Para GetPara();
+ FX_BOOL SetPresence(FX_INT32 iPresence);
+ FX_BOOL SetPlacementType(FX_INT32 iType);
+ FX_BOOL SetReserve(FX_FLOAT fReserve);
+};
+class CXFA_Para : public CXFA_Data
+{
+public:
+ CXFA_Para(CXFA_Node* pNode);
+
+ FX_INT32 GetHorizontalAlign();
+
+ FX_INT32 GetVerticalAlign();
+
+ FX_FLOAT GetLineHeight();
+ FX_FLOAT GetMarginLeft();
+ FX_FLOAT GetMarginRight();
+ FX_INT32 GetOrphans();
+ FX_FLOAT GetRadixOffset();
+ FX_FLOAT GetSpaceAbove();
+ FX_FLOAT GetSpaceBelow();
+ FX_FLOAT GetTextIndent();
+ FX_INT32 GetWidows();
+ FX_BOOL SetHorizontalAlign(FX_INT32 iHorizontalAlign);
+ FX_BOOL SetVerticalAlign(FX_INT32 iVerticalAlign);
+ FX_BOOL SetLineHeight(FX_FLOAT fLineHeight);
+ FX_BOOL SetMarginLeft(FX_FLOAT fMarginLeft);
+ FX_BOOL SetMarginRight(FX_FLOAT fMarginRight);
+ FX_BOOL SetOrphans(FX_INT32 iOrphans);
+ FX_BOOL SetRadixOffset(FX_FLOAT fRadixOffset);
+ FX_BOOL SetSpaceAbove(FX_FLOAT fSpaceAbove);
+ FX_BOOL SetSpaceBelow(FX_FLOAT fSpaceBelow);
+ FX_BOOL SetTextIndent(FX_FLOAT fTextIndent);
+ FX_BOOL SetWidows(FX_INT32 iWidows);
+};
+class CXFA_Keep : public CXFA_Data
+{
+public:
+ CXFA_Keep(CXFA_Node *pNode, CXFA_Node *pParent);
+
+ FX_INT32 GetIntact();
+ FX_INT32 GetNext();
+ FX_INT32 GetPrevious();
+ FX_BOOL SetIntact(FX_INT32 iIntact);
+ FX_BOOL SetNext(FX_INT32 iNext);
+ FX_BOOL SetPrevious(FX_INT32 iPrevious);
+private:
+ CXFA_Node *m_pParent;
+};
+enum XFA_TEXTENCODING {
+ XFA_TEXTENCODING_None,
+ XFA_TEXTENCODING_Big5,
+ XFA_TEXTENCODING_FontSpecific,
+ XFA_TEXTENCODING_GBK,
+ XFA_TEXTENCODING_GB18030,
+ XFA_TEXTENCODING_GB2312,
+ XFA_TEXTENCODING_ISO8859NN,
+ XFA_TEXTENCODING_KSC5601,
+ XFA_TEXTENCODING_ShiftJIS,
+ XFA_TEXTENCODING_UCS2,
+ XFA_TEXTENCODING_UTF16,
+ XFA_TEXTENCODING_UTF8
+};
+class CXFA_Event : public CXFA_Data
+{
+public:
+ CXFA_Event(CXFA_Node* pNode);
+
+
+ FX_INT32 GetActivity();
+
+ FX_INT32 GetEventType();
+ void GetRef(CFX_WideStringC &wsRef);
+
+ FX_INT32 GetExecuteRunAt();
+ FX_INT32 GetExecuteType();
+ void GetExecuteConnection(CFX_WideString &wsConnection);
+
+
+ CXFA_Script GetScript();
+
+
+ CXFA_Submit GetSubmit();
+
+
+ FX_INT32 GetSignDataOperation();
+ void GetSignDataTarget(CFX_WideString &wsTarget);
+ FX_BOOL SetActivity(FX_INT32 iActivity);
+ FX_BOOL SetEventType(FX_INT32 iEventType);
+ FX_BOOL SetExecuteRunAt(FX_INT32 iExecuteRunAt);
+ FX_BOOL SetExecuteType(FX_INT32 iExecuteType);
+ FX_BOOL SetExecuteConnection(const CFX_WideString& wsConnection);
+ FX_BOOL SetSignDataOperation(FX_INT32 iOperation);
+ FX_BOOL SetSignDataTarget(const CFX_WideString& wsTarget);
+};
+enum XFA_SCRIPTTYPE {
+ XFA_SCRIPTTYPE_Formcalc = 0,
+ XFA_SCRIPTTYPE_Javascript,
+ XFA_SCRIPTTYPE_Unkown,
+};
+class CXFA_Script : public CXFA_Data
+{
+public:
+ CXFA_Script(CXFA_Node* pNode);
+ void GetBinding(CFX_WideString &wsBinding);
+
+ XFA_SCRIPTTYPE GetContentType();
+ FX_INT32 GetRunAt();
+ void GetExpression(CFX_WideString &wsExpression);
+ FX_BOOL SetBinding(const CFX_WideString& wsBinding);
+ FX_BOOL SetContentType(XFA_SCRIPTTYPE eType);
+ FX_BOOL SetRunAt(FX_INT32 iRunAt);
+ FX_BOOL SetExpression(const CFX_WideString& wsExpression);
+};
+class CXFA_Submit : public CXFA_Data
+{
+public:
+ CXFA_Submit(CXFA_Node* pNode);
+ FX_BOOL IsSubmitEmbedPDF();
+ FX_INT32 GetSubmitFormat();
+ void GetSubmitTarget(CFX_WideStringC &wsTarget);
+ XFA_TEXTENCODING GetSubmitTextEncoding();
+ void GetSubmitXDPContent(CFX_WideStringC &wsContent);
+ FX_BOOL SetSubmitFormat(FX_INT32 iSubmitFormat);
+ FX_BOOL SetSubmitTarget(const CFX_WideString& wsTarget);
+ FX_BOOL SetSubmitTextEncoding(XFA_TEXTENCODING eTextEncoding);
+ FX_BOOL SetSubmitXDPContent(const CFX_WideString& wsContent);
+};
+class CXFA_Value : public CXFA_Data
+{
+public:
+ CXFA_Value(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+
+ XFA_ELEMENT GetChildValueClassID();
+
+ FX_BOOL GetChildValueContent(CFX_WideString &wsContent);
+ CXFA_Arc GetArc();
+ CXFA_Line GetLine();
+ CXFA_Rectangle GetRectangle();
+ CXFA_Text GetText();
+ CXFA_ExData GetExData();
+ CXFA_Image GetImage();
+ FX_BOOL SetChildValueContent(const CFX_WideString& wsContent, FX_BOOL bNotify = FALSE, XFA_ELEMENT iType = XFA_ELEMENT_UNKNOWN);
+};
+class CXFA_Line : public CXFA_Data
+{
+public:
+ CXFA_Line(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ FX_INT32 GetHand();
+ FX_BOOL GetSlop();
+ CXFA_Edge GetEdge();
+ FX_BOOL SetHand(FX_INT32 iHand);
+ FX_BOOL SetSlop(FX_INT32 iSlop);
+};
+class CXFA_Text : public CXFA_Data
+{
+public:
+ CXFA_Text(CXFA_Node* pNode);
+ void GetName(CFX_WideStringC &wsName);
+ FX_INT32 GetMaxChars();
+ void GetRid(CFX_WideStringC &wsRid);
+ void GetContent(CFX_WideString &wsText);
+ void SetContent(CFX_WideString wsText, FX_BOOL bNotify = TRUE);
+ FX_BOOL SetName(const CFX_WideString& wsName);
+ FX_BOOL SetMaxChars(FX_INT32 iMaxChars);
+ FX_BOOL SetRid(const CFX_WideString& wsRid);
+};
+class CXFA_ExData : public CXFA_Data
+{
+public:
+ CXFA_ExData(CXFA_Node* pNode);
+ void GetContentType(CFX_WideStringC &wsContentType);
+ void GetHref(CFX_WideStringC &wsHref);
+ FX_INT32 GetMaxLength();
+ void GetRid(CFX_WideStringC &wsRid);
+ FX_INT32 GetTransferEncoding();
+ void GetContent(CFX_WideString &wsText);
+ FX_BOOL SetContentType(const CFX_WideString& wsContentType);
+ FX_BOOL SetHref(const CFX_WideString& wsHref);
+ FX_BOOL SetMaxLength(FX_INT32 iMaxLength);
+ FX_BOOL SetRid(const CFX_WideString& wsRid);
+ FX_BOOL SetTransferEncoding(FX_INT32 iTransferEncoding);
+ FX_BOOL SetContent(const CFX_WideString& wsText, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
+};
+class CXFA_Image : public CXFA_Data
+{
+public:
+ CXFA_Image(CXFA_Node* pNode, FX_BOOL bDefValue);
+ FX_INT32 GetAspect();
+ FX_BOOL GetContentType(CFX_WideString &wsContentType);
+ FX_BOOL GetHref(CFX_WideString &wsHref);
+ FX_INT32 GetTransferEncoding();
+ FX_BOOL GetContent(CFX_WideString &wsText);
+ FX_BOOL SetAspect(FX_INT32 iAspect);
+ FX_BOOL SetContentType(const CFX_WideString& wsContentType);
+ FX_BOOL SetHref(const CFX_WideString& wsHref);
+ FX_BOOL SetTransferEncoding(FX_INT32 iTransferEncoding);
+ FX_BOOL SetContent(const CFX_WideString& wsText);
+protected:
+ FX_BOOL m_bDefValue;
+};
+class CXFA_Calculate : public CXFA_Data
+{
+public:
+ CXFA_Calculate(CXFA_Node* pNode);
+
+ FX_INT32 GetOverride();
+ CXFA_Script GetScript();
+ void GetMessageText(CFX_WideString &wsMessage);
+ FX_BOOL SetOverride(FX_INT32 iOverride);
+ FX_BOOL SetMessageText(const CFX_WideString& wsMessage);
+};
+class CXFA_Validate : public CXFA_Data
+{
+public:
+ CXFA_Validate(CXFA_Node* pNode);
+ FX_INT32 GetFormatTest();
+ FX_BOOL SetFormatTest(CFX_WideString wsValue);
+ FX_INT32 GetNullTest();
+ FX_BOOL SetNullTest(CFX_WideString wsValue);
+ FX_INT32 GetScriptTest();
+ void GetFormatMessageText(CFX_WideString &wsMessage);
+ void SetFormatMessageText(CFX_WideString wsMessage);
+ void GetNullMessageText(CFX_WideString &wsMessage);
+ void SetNullMessageText(CFX_WideString wsMessage);
+ void GetScriptMessageText(CFX_WideString &wsMessage);
+ void SetScriptMessageText(CFX_WideString wsMessage);
+ void GetPicture(CFX_WideString &wsPicture);
+ CXFA_Script GetScript();
+protected:
+ void GetMessageText(CFX_WideString &wsMessage, FX_WSTR wsMessageType);
+ void SetMessageText(CFX_WideString &wsMessage, FX_WSTR wsMessageType);
+ FX_BOOL SetTestValue(FX_INT32 iType, CFX_WideString &wsValue, XFA_ATTRIBUTEENUM eName);
+};
+class CXFA_Variables : public CXFA_Data
+{
+public:
+ CXFA_Variables(CXFA_Node* pNode);
+
+ FX_INT32 CountScripts();
+ CXFA_Script GetScript(FX_INT32 nIndex);
+};
+class CXFA_Bind : public CXFA_Data
+{
+public:
+ CXFA_Bind(CXFA_Node* pNode);
+ FX_INT32 GetMatch();
+ void GetRef(CFX_WideStringC &wsRef);
+ void GetPicture(CFX_WideString &wsPicture);
+ FX_BOOL SetMatch(FX_INT32 iMatch);
+ FX_BOOL SetRef(const CFX_WideString& wsRef);
+ FX_BOOL SetPicture(const CFX_WideString& wsPicture);
+};
+class CXFA_Assist : public CXFA_Data
+{
+public:
+ CXFA_Assist(CXFA_Node* pNode);
+
+ CXFA_ToolTip GetToolTip();
+};
+class CXFA_ToolTip : public CXFA_Data
+{
+public:
+ CXFA_ToolTip(CXFA_Node* pNode);
+ FX_BOOL GetTip(CFX_WideString &wsTip);
+ FX_BOOL SetTip(const CFX_WideString& wsTip);
+};
+class CXFA_BindItems : public CXFA_Data
+{
+public:
+ CXFA_BindItems(CXFA_Node* pNode);
+ void GetConnection(CFX_WideStringC &wsConnection);
+ void GetLabelRef(CFX_WideStringC &wsLabelRef);
+ void GetValueRef(CFX_WideStringC &wsValueRef);
+ void GetRef(CFX_WideStringC &wsRef);
+ FX_BOOL SetConnection(const CFX_WideString& wsConnection);
+ FX_BOOL SetLabelRef(const CFX_WideString& wsLabelRef);
+ FX_BOOL SetValueRef(const CFX_WideString& wsValueRef);
+ FX_BOOL SetRef(const CFX_WideString& wsRef);
+};
+#define XFA_STROKE_SAMESTYLE_NoPresence 1
+#define XFA_STROKE_SAMESTYLE_Corner 2
+class CXFA_Stroke : public CXFA_Data
+{
+public:
+
+ CXFA_Stroke(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+
+ FX_BOOL IsCorner() const
+ {
+ return GetClassID() == XFA_ELEMENT_Corner;
+ }
+
+ FX_BOOL IsEdge() const
+ {
+ return GetClassID() == XFA_ELEMENT_Edge;
+ }
+
+ FX_INT32 GetPresence() const;
+ FX_BOOL IsVisible() const
+ {
+ return GetPresence() == XFA_ATTRIBUTEENUM_Visible;
+ }
+
+ FX_INT32 GetCapType() const;
+
+ FX_INT32 GetStrokeType() const;
+
+ FX_FLOAT GetThickness() const;
+ CXFA_Measurement GetMSThickness() const;
+
+ void SetThickness(FX_FLOAT fThickness);
+ void SetMSThickness(CXFA_Measurement msThinkness);
+
+ FX_ARGB GetColor() const;
+
+ void SetColor(FX_ARGB argb);
+
+ FX_INT32 GetJoinType() const;
+
+ FX_BOOL IsInverted() const;
+
+ FX_FLOAT GetRadius() const;
+
+ FX_BOOL SameStyles(CXFA_Stroke stroke, FX_DWORD dwFlags = 0) const;
+};
+class CXFA_Corner : public CXFA_Stroke
+{
+public:
+ CXFA_Corner(CXFA_Node* pNode) : CXFA_Stroke(pNode) {}
+};
+class CXFA_Edge : public CXFA_Stroke
+{
+public:
+ CXFA_Edge(CXFA_Node* pNode) : CXFA_Stroke(pNode) {}
+};
+typedef CFX_ArrayTemplate<CXFA_Stroke> CXFA_StrokeArray;
+typedef CFX_ArrayTemplate<CXFA_Edge> CXFA_EdgeArray;
+typedef CFX_ArrayTemplate<CXFA_Corner> CXFA_CornerArray;
+class CXFA_Box : public CXFA_Data
+{
+public:
+
+ CXFA_Box(CXFA_Node *pNode) : CXFA_Data(pNode) {}
+
+ FX_BOOL IsArc() const
+ {
+ return GetClassID() == XFA_ELEMENT_Arc;
+ }
+
+ FX_BOOL IsBorder() const
+ {
+ return GetClassID() == XFA_ELEMENT_Border;
+ }
+
+ FX_BOOL IsRectangle() const
+ {
+ return GetClassID() == XFA_ELEMENT_Rectangle;
+ }
+
+ FX_INT32 GetBreak() const;
+
+ FX_INT32 GetHand() const;
+
+ FX_INT32 GetPresence() const;
+
+ FX_INT32 CountCorners() const;
+
+ CXFA_Corner GetCorner(FX_INT32 nIndex) const;
+
+ FX_INT32 CountEdges() const;
+
+ CXFA_Edge GetEdge(FX_INT32 nIndex = 0) const;
+
+ void GetStrokes(CXFA_StrokeArray &strokes) const;
+
+ FX_BOOL IsCircular() const;
+
+ FX_BOOL GetStartAngle(FX_FLOAT &fStartAngle) const;
+ FX_FLOAT GetStartAngle() const
+ {
+ FX_FLOAT fStartAngle;
+ GetStartAngle(fStartAngle);
+ return fStartAngle;
+ }
+
+ FX_BOOL GetSweepAngle(FX_FLOAT &fSweepAngle) const;
+ FX_FLOAT GetSweepAngle() const
+ {
+ FX_FLOAT fSweepAngle;
+ GetSweepAngle(fSweepAngle);
+ return fSweepAngle;
+ }
+
+ CXFA_Fill GetFill(FX_BOOL bModified = FALSE) const;
+
+ CXFA_Margin GetMargin() const;
+
+ FX_BOOL SameStyles() const;
+
+ FX_INT32 Get3DStyle(FX_BOOL &bVisible, FX_FLOAT &fThickness) const;
+};
+class CXFA_Arc : public CXFA_Box
+{
+public:
+ CXFA_Arc(CXFA_Node *pNode) : CXFA_Box(pNode) {}
+};
+class CXFA_Border : public CXFA_Box
+{
+public:
+ CXFA_Border(CXFA_Node *pNode) : CXFA_Box(pNode) {}
+};
+class CXFA_Rectangle : public CXFA_Box
+{
+public:
+ CXFA_Rectangle(CXFA_Node *pNode) : CXFA_Box(pNode) {}
+};
+enum XFA_CHECKSTATE {
+ XFA_CHECKSTATE_On = 0,
+ XFA_CHECKSTATE_Off = 1,
+ XFA_CHECKSTATE_Neutral = 2,
+};
+enum XFA_VALUEPICTURE {
+ XFA_VALUEPICTURE_Raw = 0,
+ XFA_VALUEPICTURE_Display,
+ XFA_VALUEPICTURE_Edit,
+ XFA_VALUEPICTURE_DataBind,
+};
+class CXFA_WidgetData : public CXFA_Data
+{
+public:
+ CXFA_WidgetData(CXFA_Node *pNode);
+ CXFA_Node* GetUIChild();
+
+ XFA_ELEMENT GetUIType();
+ CFX_WideString GetRawValue();
+
+ FX_INT32 GetAccess(FX_BOOL bTemplate = FALSE);
+
+ FX_BOOL GetAccessKey(CFX_WideStringC &wsAccessKey);
+
+ FX_INT32 GetAnchorType();
+
+ FX_INT32 GetColSpan();
+
+ FX_INT32 GetPresence();
+
+ FX_INT32 GetRotate();
+
+ CXFA_Border GetBorder(FX_BOOL bModified = FALSE);
+
+ CXFA_Caption GetCaption(FX_BOOL bModified = FALSE);
+
+ CXFA_Font GetFont(FX_BOOL bModified = FALSE);
+
+ CXFA_Margin GetMargin(FX_BOOL bModified = FALSE);
+
+ CXFA_Para GetPara(FX_BOOL bModified = FALSE);
+
+ CXFA_Keep GetKeep(FX_BOOL bModified = FALSE);
+
+ void GetEventList(CXFA_NodeArray &events);
+ FX_INT32 GetEventByActivity(FX_INT32 iActivity, CXFA_NodeArray &events, FX_BOOL bIsFormReady = FALSE);
+
+ CXFA_Value GetDefaultValue(FX_BOOL bModified = FALSE);
+
+ CXFA_Value GetFormValue(FX_BOOL bModified = FALSE);
+
+ CXFA_Calculate GetCalculate(FX_BOOL bModified = FALSE);
+
+ CXFA_Validate GetValidate(FX_BOOL bModified = FALSE);
+
+ CXFA_Variables GetVariables(FX_BOOL bModified = FALSE);
+
+ CXFA_Bind GetBind(FX_BOOL bModified = FALSE);
+
+ CXFA_Assist GetAssist(FX_BOOL bModified = FALSE);
+
+ void GetRelevant(CFX_WideStringC &wsRelevant);
+ FX_DWORD GetRelevantStatus();
+
+ FX_BOOL GetWidth(FX_FLOAT &fWidth);
+ FX_BOOL GetHeight(FX_FLOAT &fHeight);
+
+ FX_BOOL GetMinWidth(FX_FLOAT &fMinWidth);
+ FX_BOOL GetMinHeight(FX_FLOAT &fMinHeight);
+
+ FX_BOOL GetMaxWidth(FX_FLOAT &fMaxWidth);
+ FX_BOOL GetMaxHeight(FX_FLOAT &fMaxHeight);
+
+ CXFA_BindItems GetBindItems();
+ FX_BOOL SetAccess(FX_INT32 iAccess, FX_BOOL bNotify = TRUE);
+ FX_BOOL SetAccessKey(const CFX_WideString& wsAccessKey);
+ FX_BOOL SetAnchorType(FX_INT32 iType);
+ FX_BOOL SetColSpan(FX_INT32 iColSpan);
+ FX_BOOL SetPresence(FX_INT32 iPresence);
+ FX_BOOL SetRotate(FX_INT32 iRotate);
+ FX_BOOL SetRelevant(const CFX_WideString& wsRelevant);
+ FX_BOOL SetStatus(FX_DWORD dwStatus);
+ FX_BOOL SetWidth(FX_FLOAT fWidth);
+ FX_BOOL SetHeight(FX_FLOAT fHeight);
+ FX_BOOL SetMinWidth(FX_FLOAT fMinWidth);
+ FX_BOOL SetMinHeight(FX_FLOAT fMinHeight);
+ FX_BOOL SetMaxWidth(FX_FLOAT fMaxWidth);
+ FX_BOOL SetMaxHeight(FX_FLOAT fMaxHeight);
+ FX_BOOL SetPos(FX_FLOAT x, FX_FLOAT y);
+ FX_BOOL SetName(const CFX_WideString& wsName);
+ FX_BOOL SetButtonHighlight(FX_INT32 iButtonHighlight);
+ FX_BOOL SetButtonRollover(const CFX_WideString &wsRollover, FX_BOOL bRichText);
+ FX_BOOL SetButtonDown(const CFX_WideString& wsDown, FX_BOOL bRichText);
+ FX_BOOL SetCheckButtonShape(FX_INT32 iCheckButtonShape);
+ FX_BOOL SetCheckButtonMark(FX_INT32 iCheckButtonMark);
+ FX_BOOL SetCheckButtonSize(FX_FLOAT fCheckButtonMark);
+
+ CXFA_Border GetUIBorder(FX_BOOL bModified = FALSE);
+
+ CXFA_Margin GetUIMargin(FX_BOOL bModified = FALSE);
+ void GetUIMargin(CFX_RectF &rtUIMargin);
+
+ FX_INT32 GetButtonHighlight();
+ FX_BOOL GetButtonRollover(CFX_WideString &wsRollover, FX_BOOL &bRichText);
+ FX_BOOL GetButtonDown(CFX_WideString &wsDown, FX_BOOL &bRichText);
+
+
+ FX_INT32 GetCheckButtonShape();
+
+ FX_INT32 GetCheckButtonMark();
+
+ FX_FLOAT GetCheckButtonSize();
+
+ FX_BOOL IsAllowNeutral();
+ FX_BOOL IsRadioButton();
+ XFA_CHECKSTATE GetCheckState();
+ void SetCheckState(XFA_CHECKSTATE eCheckState, FX_BOOL bNotify = TRUE);
+
+ CXFA_Node* GetExclGroupNode();
+
+ CXFA_Node* GetSelectedMember();
+
+ CXFA_Node* SetSelectedMember(FX_WSTR wsName, FX_BOOL bNotify = TRUE);
+
+ void SetSelectedMemberByValue(FX_WSTR wsValue, FX_BOOL bNotify = TRUE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
+ CXFA_Node* GetExclGroupFirstMember();
+ CXFA_Node* GetExclGroupNextMember(CXFA_Node* pNode);
+
+ FX_INT32 GetChoiceListCommitOn();
+
+ FX_BOOL IsChoiceListAllowTextEntry();
+
+ FX_INT32 GetChoiceListOpen();
+ FX_BOOL IsListBox();
+ FX_INT32 CountChoiceListItems(FX_BOOL bSaveValue = FALSE);
+
+ FX_BOOL GetChoiceListItem(CFX_WideString &wsText, FX_INT32 nIndex, FX_BOOL bSaveValue = FALSE);
+ void GetChoiceListItems(CFX_WideStringArray &wsTextArray, FX_BOOL bSaveValue = FALSE);
+
+ FX_INT32 CountSelectedItems();
+
+ FX_INT32 GetSelectedItem(FX_INT32 nIndex = 0);
+ void GetSelectedItems(CFX_Int32Array &iSelArray);
+ void GetSelectedItemsValue(CFX_WideStringArray &wsSelTextArray);
+
+ FX_BOOL GetItemState(FX_INT32 nIndex);
+
+ void SetItemState(FX_INT32 nIndex, FX_BOOL bSelected, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
+ void SetSelectdItems(CFX_Int32Array &iSelArray, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
+ void ClearAllSelections();
+ void InsertItem(const CFX_WideString &wsLabel, const CFX_WideString &wsValue, FX_INT32 nIndex = -1, FX_BOOL bNotify = FALSE);
+ void GetItemLabel(FX_WSTR wsValue, CFX_WideString &wsLabel);
+ void GetItemValue(FX_WSTR wsLabel, CFX_WideString &wsValue);
+ FX_BOOL DeleteItem(FX_INT32 nIndex, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
+
+ FX_INT32 GetHorizontalScrollPolicy();
+
+ FX_INT32 GetNumberOfCells();
+
+ FX_BOOL IsDateTimeEditUsePicker();
+
+ FX_BOOL SetValue(const CFX_WideString& wsValue, XFA_VALUEPICTURE eValueType);
+ FX_BOOL GetPictureContent(CFX_WideString &wsPicture, XFA_VALUEPICTURE ePicture);
+ IFX_Locale* GetLocal();
+ FX_BOOL GetValue(CFX_WideString &wsValue, XFA_VALUEPICTURE eValueType);
+ FX_BOOL GetNormalizeDataValue(FX_WSTR wsValue, CFX_WideString &wsNormalizeValue);
+ FX_BOOL GetFormatDataValue(FX_WSTR wsValue, CFX_WideString &wsFormatedValue);
+ void NormalizeNumStr(const CFX_WideString& wsValue, CFX_WideString& wsOutput);
+
+ CFX_WideString GetBarcodeType();
+ FX_BOOL GetBarcodeAttribute_CharEncoding(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_Checksum(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_DataLength(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_StartChar(FX_CHAR& val);
+ FX_BOOL GetBarcodeAttribute_EndChar(FX_CHAR& val);
+ FX_BOOL GetBarcodeAttribute_ECLevel(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_ModuleWidth(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_ModuleHeight(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_PrintChecksum(FX_BOOL& val);
+ FX_BOOL GetBarcodeAttribute_TextLocation(FX_INT32& val);
+ FX_BOOL GetBarcodeAttribute_Truncate(FX_BOOL& val);
+ FX_BOOL GetBarcodeAttribute_WideNarrowRatio(FX_FLOAT& val);
+
+ void GetPasswordChar(CFX_WideString &wsPassWord);
+
+ FX_BOOL IsAllowRichText();
+
+ FX_BOOL IsMultiLine();
+
+ FX_INT32 GetVerticalScrollPolicy();
+
+ FX_INT32 GetMaxChars(XFA_ELEMENT& eType);
+
+ FX_BOOL GetFracDigits(FX_INT32 &iFracDigits);
+
+ FX_BOOL GetLeadDigits(FX_INT32 &iLeadDigits);
+
+ CXFA_Filter GetFilter(FX_BOOL bModified = FALSE);
+ CXFA_Manifest GetManifest(FX_BOOL bModified = FALSE);
+ FX_BOOL m_bIsNull;
+ FX_BOOL m_bPreNull;
+protected:
+ void SyncValue(const CFX_WideString& wsValue, FX_BOOL bNotify);
+ void InsertListTextItem(CXFA_Node* pItems, FX_WSTR wsText, FX_INT32 nIndex = -1);
+ void FormatNumStr(const CFX_WideString& wsValue, IFX_Locale* pLocale, CFX_WideString& wsOutput);
+ CXFA_Node* m_pUiChildNode;
+ XFA_ELEMENT m_eUIType;
+};
+class CXFA_Occur : public CXFA_Data
+{
+public:
+ CXFA_Occur(CXFA_Node* pNode);
+ FX_INT32 GetMax();
+ FX_INT32 GetMin();
+ FX_INT32 GetInitial();
+ FX_BOOL GetOccurInfo(FX_INT32& iMin, FX_INT32& iMax, FX_INT32& iInit);
+ void SetMax(FX_INT32 iMax);
+ void SetMin(FX_INT32 iMin);
+};
+class CXFA_Filter : public CXFA_Data
+{
+public:
+ CXFA_Filter(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ CFX_WideString GetFilterString(XFA_ATTRIBUTE eAttribute);
+ XFA_ATTRIBUTEENUM GetAppearanceFilterType();
+ CFX_WideString GetAppearanceFilterContent();
+ XFA_ATTRIBUTEENUM GetCertificatesCredentialServerPolicy();
+ CFX_WideString GetCertificatesURL();
+ CFX_WideString GetCertificatesURLPolicy();
+ CXFA_WrapCertificate GetCertificatesEncryption(FX_BOOL bModified = FALSE);
+ CXFA_WrapCertificate GetCertificatesIssuers(FX_BOOL bModified = FALSE);
+ CFX_WideString GetCertificatesKeyUsageString(XFA_ATTRIBUTE eAttribute);
+ CXFA_Oids GetCertificatesOids();
+ CXFA_WrapCertificate GetCertificatesSigning(FX_BOOL bModified = FALSE);
+ CXFA_DigestMethods GetDigestMethods(FX_BOOL bModified = FALSE);
+ CXFA_Encodings GetEncodings(FX_BOOL bModified = FALSE);
+ CXFA_EncryptionMethods GetEncryptionMethods(FX_BOOL bModified = FALSE);
+ XFA_ATTRIBUTEENUM GetHandlerType();
+ CFX_WideString GetHandlerContent();
+ XFA_ATTRIBUTEENUM GetlockDocumentType();
+ CFX_WideString GetlockDocumentContent();
+ FX_INT32 GetMDPPermissions();
+ XFA_ATTRIBUTEENUM GetMDPSignatureType();
+
+ CXFA_Reasons GetReasons(FX_BOOL bModified = FALSE);
+ CFX_WideString GetTimeStampServer();
+ XFA_ATTRIBUTEENUM GetTimeStampType();
+};
+class CXFA_Certificate : public CXFA_Data
+{
+public:
+ CXFA_Certificate(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ CFX_WideString GetCertificateName();
+ CFX_WideString GetCertificateContent();
+};
+class CXFA_WrapCertificate : public CXFA_Data
+{
+public:
+ CXFA_WrapCertificate(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetType();
+ FX_INT32 CountCertificates();
+ CXFA_Certificate GetCertificate(FX_INT32 nIndex);
+};
+class CXFA_Oids : public CXFA_Data
+{
+public:
+ CXFA_Oids(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetOidsType();
+ FX_INT32 CountOids();
+ CFX_WideString GetOidContent(FX_INT32 nIndex);
+};
+class CXFA_SubjectDNs : public CXFA_Data
+{
+public:
+ CXFA_SubjectDNs(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetSubjectDNsType();
+ FX_INT32 CountSubjectDNs();
+ CFX_WideString GetSubjectDNString(FX_INT32 nIndex, XFA_ATTRIBUTE eAttribute);
+ CFX_WideString GetSubjectDNContent(FX_INT32 nIndex);
+};
+class CXFA_DigestMethods : public CXFA_Data
+{
+public:
+ CXFA_DigestMethods(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetDigestMethodsType();
+ FX_INT32 CountDigestMethods();
+ CFX_WideString GetDigestMethodContent(FX_INT32 nIndex);
+};
+class CXFA_Encodings : public CXFA_Data
+{
+public:
+ CXFA_Encodings(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetEncodingsType();
+ FX_INT32 CountEncodings();
+ CFX_WideString GetEncodingContent(FX_INT32 nIndex);
+};
+class CXFA_EncryptionMethods : public CXFA_Data
+{
+public:
+ CXFA_EncryptionMethods(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetEncryptionMethodsType();
+ FX_INT32 CountEncryptionMethods();
+ CFX_WideString GetEncryptionMethodContent(FX_INT32 nIndex);
+};
+class CXFA_Reasons : public CXFA_Data
+{
+public:
+ CXFA_Reasons(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetReasonsType();
+ FX_INT32 CountReasons();
+ CFX_WideString GetReasonContent(FX_INT32 nIndex);
+};
+class CXFA_Manifest : public CXFA_Data
+{
+public:
+ CXFA_Manifest(CXFA_Node* pNode) : CXFA_Data(pNode) {}
+ XFA_ATTRIBUTEENUM GetAction();
+ FX_INT32 CountReives();
+ CFX_WideString GetRefContent(FX_INT32 nIndex);
+};
+#endif
diff --git a/xfa/include/fxfa/fxfa_widget.h b/xfa/include/fxfa/fxfa_widget.h
new file mode 100644
index 0000000000..4488502bf7
--- /dev/null
+++ b/xfa/include/fxfa/fxfa_widget.h
@@ -0,0 +1,101 @@
+// 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_WIDGET_H
+#define _FXFA_WIDGET_H
+class CXFA_Node;
+class CXFA_FFDocView;
+class CXFA_FFDoc;
+class CXFA_FFApp;
+class CXFA_Node;
+class CXFA_EventParam;
+class CXFA_FFWidget;
+class CXFA_TextLayout;
+class CXFA_TextProvider;
+class CXFA_WidgetLayoutData;
+class IFX_Font;
+class CXFA_WidgetAcc;
+#include "fxfa_objectacc.h"
+class CXFA_WidgetAcc : public CXFA_WidgetData
+{
+public:
+ CXFA_WidgetAcc(CXFA_FFDocView* pDocView, CXFA_Node* pNode);
+ ~CXFA_WidgetAcc();
+
+ FX_BOOL GetName(CFX_WideString &wsName, FX_INT32 iNameType = 0);
+ FX_BOOL ProcessValueChanged();
+
+public:
+
+ void ResetData();
+
+
+ void SetImageEdit(FX_WSTR wsContentType, FX_WSTR wsHref, FX_WSTR wsData);
+
+ CXFA_WidgetAcc* GetExclGroup();
+ CXFA_FFDocView* GetDocView();
+ CXFA_FFDoc* GetDoc();
+ CXFA_FFApp* GetApp();
+ IXFA_AppProvider* GetAppProvider();
+
+ FX_INT32 ProcessEvent(FX_INT32 iActivity, CXFA_EventParam* pEventParam);
+ FX_INT32 ProcessEvent(CXFA_Event& event, CXFA_EventParam* pEventParam);
+ FX_INT32 ProcessCalculate();
+ FX_INT32 ProcessValidate(FX_INT32 iFlags = 0);
+ FX_INT32 ExecuteScript(CXFA_Script script, CXFA_EventParam* pEventParam, FXJSE_HVALUE* pRetValue = NULL);
+
+ CXFA_FFWidget* GetNextWidget(CXFA_FFWidget* pWidget);
+ void StartWidgetLayout(FX_FLOAT &fCalcWidth, FX_FLOAT& fCalcHeight);
+ FX_BOOL FindSplitPos(FX_INT32 iBlockIndex, FX_FLOAT &fCalcHeight);
+ FX_BOOL LoadCaption();
+ FX_BOOL LoadText();
+ FX_BOOL LoadImageImage();
+ FX_BOOL LoadImageEditImage();
+ void GetImageDpi(FX_INT32 &iImageXDpi, FX_INT32 &iImageYDpi);
+ void GetImageEditDpi(FX_INT32 &iImageXDpi, FX_INT32 &iImageYDpi);
+ CXFA_TextLayout* GetCaptionTextLayout();
+ CXFA_TextLayout* GetTextLayout();
+ CFX_DIBitmap* GetImageImage();
+ CFX_DIBitmap* GetImageEditImage();
+ void SetImageImage(CFX_DIBitmap* newImage);
+ void SetImageEditImage(CFX_DIBitmap* newImage);
+ void UpdateUIDisplay(CXFA_FFWidget* pExcept = NULL);
+ void NotifyEvent(FX_DWORD dwEvent, CXFA_FFWidget* pWidget = NULL, FX_LPVOID pParam = NULL, FX_LPVOID pAdditional = NULL);
+
+
+ CXFA_Node* GetDatasets();
+ IFX_Font* GetFDEFont();
+ FX_FLOAT GetFontSize();
+ FX_ARGB GetTextColor();
+ FX_FLOAT GetLineHeight();
+ CXFA_WidgetLayoutData* GetWidgetLayoutData();
+protected:
+ void ProcessScriptTestValidate(CXFA_Validate validate, FX_INT32 iRet, FXJSE_HVALUE pRetValue, FX_BOOL bVersionFlag);
+ FX_INT32 ProcessFormatTestValidate(CXFA_Validate validate, FX_BOOL bVersionFlag);
+ FX_INT32 ProcessNullTestValidate(CXFA_Validate validate, FX_INT32 iFlags, FX_BOOL bVersionFlag);
+ void GetValidateCaptionName(CFX_WideString& wsCaptionName, FX_BOOL bVersionFlag);
+ void GetValidateMessage(IXFA_AppProvider* pAppProvider, CFX_WideString& wsMessage, FX_BOOL bError, FX_BOOL bVersionFlag);
+ void CalcCaptionSize(CFX_SizeF &szCap);
+ FX_BOOL CalculateFieldAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculateWidgetAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculateTextEditAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculateCheckButtonAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculatePushButtonAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculateImageEditAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculateImageAutoSize(CFX_SizeF &size);
+ FX_BOOL CalculateTextAutoSize(CFX_SizeF &size);
+ FX_FLOAT CalculateWidgetAutoHeight(FX_FLOAT fHeightCalc);
+ FX_FLOAT CalculateWidgetAutoWidth(FX_FLOAT fWidthCalc);
+ FX_FLOAT GetWidthWithoutMargin(FX_FLOAT fWidthCalc);
+ FX_FLOAT GetHeightWithoutMargin(FX_FLOAT fHeightCalc);
+ void CalculateTextContentSize(CFX_SizeF &size);
+ void CalculateAccWidthAndHeight(XFA_ELEMENT eUIType, FX_FLOAT& fWidth, FX_FLOAT& fCalcHeight);
+ void InitLayoutData();
+ void StartTextLayout(FX_FLOAT& fCalcWidth, FX_FLOAT& fCalcHeight);
+ CXFA_FFDocView* m_pDocView;
+ CXFA_WidgetLayoutData* m_pLayoutData;
+};
+#endif