blob: 05e152acac0415adcfa5117a364483eafdda7d17 [file] [log] [blame]
// 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 XFA_FXFA_INCLUDE_FXFA_BASIC_H_
#define XFA_FXFA_INCLUDE_FXFA_BASIC_H_
#include "fxjse/include/cfxjse_arguments.h"
#include "fxjse/include/fxjse.h"
class CXFA_Measurement;
enum XFA_HashCode : uint32_t {
XFA_HASHCODE_None = 0,
XFA_HASHCODE_Config = 0x4e1e39b6,
XFA_HASHCODE_ConnectionSet = 0xe14c801c,
XFA_HASHCODE_Data = 0xbde9abda,
XFA_HASHCODE_DataDescription = 0x2b5df51e,
XFA_HASHCODE_Datasets = 0x99b95079,
XFA_HASHCODE_DataWindow = 0x83a550d2,
XFA_HASHCODE_Event = 0x185e41e2,
XFA_HASHCODE_Form = 0xcd309ff4,
XFA_HASHCODE_Group = 0xf7f75fcd,
XFA_HASHCODE_Host = 0xdb075bde,
XFA_HASHCODE_Layout = 0x7e7e845e,
XFA_HASHCODE_LocaleSet = 0x5473b6dc,
XFA_HASHCODE_Log = 0x0b1b3d22,
XFA_HASHCODE_Name = 0x31b19c1,
XFA_HASHCODE_Occur = 0xf7eebe1c,
XFA_HASHCODE_Pdf = 0xb843dba,
XFA_HASHCODE_Record = 0x5779d65f,
XFA_HASHCODE_Signature = 0x8b036f32,
XFA_HASHCODE_SourceSet = 0x811929d,
XFA_HASHCODE_Stylesheet = 0x6038580a,
XFA_HASHCODE_Template = 0x803550fc,
XFA_HASHCODE_This = 0x2d574d58,
XFA_HASHCODE_Xdc = 0xc56afbf,
XFA_HASHCODE_XDP = 0xc56afcc,
XFA_HASHCODE_Xfa = 0xc56b9ff,
XFA_HASHCODE_Xfdf = 0x48d004a8,
XFA_HASHCODE_Xmpmeta = 0x132a8fbc
};
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,
};
struct XFA_PACKETINFO {
uint32_t uHash;
const FX_WCHAR* pName;
XFA_XDPPACKET eName;
const FX_WCHAR* pURI;
uint32_t eFlags;
};
const XFA_PACKETINFO* XFA_GetPacketByName(const CFX_WideStringC& wsName);
const XFA_PACKETINFO* XFA_GetPacketByID(uint32_t dwPacket);
const XFA_PACKETINFO* XFA_GetPacketByIndex(XFA_PACKET 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)
struct XFA_ELEMENTINFO {
uint32_t uHash;
const FX_WCHAR* pName;
XFA_ELEMENT eName;
uint32_t dwPackets;
uint32_t eObjectType;
};
const XFA_ELEMENTINFO* XFA_GetElementByName(const CFX_WideStringC& wsName);
const XFA_ELEMENTINFO* 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,
};
struct XFA_ATTRIBUTEINFO {
uint32_t uHash;
const FX_WCHAR* pName;
XFA_ATTRIBUTE eName;
XFA_ATTRIBUTETYPE eType;
uint32_t dwPackets;
void* pDefValue;
};
const XFA_ATTRIBUTEINFO* XFA_GetAttributeByName(const CFX_WideStringC& wsName);
const XFA_ATTRIBUTEINFO* XFA_GetAttributeByID(XFA_ATTRIBUTE eName);
FX_BOOL XFA_GetAttributeDefaultValue(void*& pValue,
XFA_ELEMENT eElement,
XFA_ATTRIBUTE eAttribute,
XFA_ATTRIBUTETYPE eType,
uint32_t dwPacket);
XFA_ATTRIBUTEENUM XFA_GetAttributeDefaultValue_Enum(XFA_ELEMENT eElement,
XFA_ATTRIBUTE eAttribute,
uint32_t dwPacket);
CFX_WideStringC XFA_GetAttributeDefaultValue_Cdata(XFA_ELEMENT eElement,
XFA_ATTRIBUTE eAttribute,
uint32_t dwPacket);
FX_BOOL XFA_GetAttributeDefaultValue_Boolean(XFA_ELEMENT eElement,
XFA_ATTRIBUTE eAttribute,
uint32_t dwPacket);
CXFA_Measurement XFA_GetAttributeDefaultValue_Measure(XFA_ELEMENT eElement,
XFA_ATTRIBUTE eAttribute,
uint32_t dwPacket);
struct XFA_ELEMENTHIERARCHY {
uint16_t wStart;
uint16_t wCount;
};
struct XFA_SCRIPTHIERARCHY {
uint16_t wMethodStart;
uint16_t wMethodCount;
uint16_t wAttributeStart;
uint16_t wAttributeCount;
int16_t wParentIndex;
};
const uint16_t* XFA_GetElementChildren(XFA_ELEMENT eElement, int32_t& iCount);
const uint8_t* XFA_GetElementAttributes(XFA_ELEMENT eElement, int32_t& iCount);
const XFA_ATTRIBUTEINFO* XFA_GetAttributeOfElement(XFA_ELEMENT eElement,
XFA_ATTRIBUTE eAttribute,
uint32_t dwPacket);
#define XFA_PROPERTYFLAG_OneOf 0x01
#define XFA_PROPERTYFLAG_DefaultOneOf 0x02
struct XFA_PROPERTY {
uint16_t eName;
uint8_t uOccur;
uint8_t uFlags;
};
const XFA_PROPERTY* XFA_GetElementProperties(XFA_ELEMENT eElement,
int32_t& iCount);
const XFA_PROPERTY* XFA_GetPropertyOfElement(XFA_ELEMENT eElement,
XFA_ELEMENT eProperty,
uint32_t dwPacket);
struct XFA_ATTRIBUTEENUMINFO {
uint32_t uHash;
const FX_WCHAR* pName;
XFA_ATTRIBUTEENUM eName;
};
const XFA_ATTRIBUTEENUMINFO* XFA_GetAttributeEnumByName(
const CFX_WideStringC& wsName);
const XFA_ATTRIBUTEENUMINFO* 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(const CFX_WideStringC& 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(const CFX_WideStringC& wsMeasure) { Set(wsMeasure); }
CXFA_Measurement(FX_FLOAT fValue, XFA_UNIT eUnit) { Set(fValue, eUnit); }
static XFA_UNIT GetUnit(const CFX_WideStringC& 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);
struct XFA_METHODINFO {
uint32_t uHash;
const FX_WCHAR* pName;
XFA_METHOD_CALLBACK lpfnCallback;
};
const XFA_METHODINFO* XFA_GetMethodByName(XFA_ELEMENT eElement,
const CFX_WideStringC& wsMethodName);
typedef void (CXFA_Object::*XFA_ATTRIBUTE_CALLBACK)(CFXJSE_Value* pValue,
FX_BOOL bSetting,
XFA_ATTRIBUTE eAttribute);
enum XFA_SCRIPT_TYPE {
XFA_SCRIPT_Basic,
XFA_SCRIPT_Object,
};
struct XFA_SCRIPTATTRIBUTEINFO {
uint32_t uHash;
const FX_WCHAR* pName;
XFA_ATTRIBUTE_CALLBACK lpfnCallback;
int32_t eAttribute;
uint16_t eValueType;
};
const XFA_SCRIPTATTRIBUTEINFO* XFA_GetScriptAttributeByName(
XFA_ELEMENT eElement,
const CFX_WideStringC& wsAttributeName);
#endif // XFA_FXFA_INCLUDE_FXFA_BASIC_H_