1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef XFA_FXFA_INCLUDE_FXFA_BASIC_H_
8 #define XFA_FXFA_INCLUDE_FXFA_BASIC_H_
9 
10 #include "fxjs/include/cfxjse_arguments.h"
11 #include "fxjs/include/fxjse.h"
12 
13 class CXFA_Measurement;
14 enum class XFA_ObjectType;
15 
16 enum XFA_HashCode : uint32_t {
17   XFA_HASHCODE_None = 0,
18 
19   XFA_HASHCODE_Config = 0x4e1e39b6,
20   XFA_HASHCODE_ConnectionSet = 0xe14c801c,
21   XFA_HASHCODE_Data = 0xbde9abda,
22   XFA_HASHCODE_DataDescription = 0x2b5df51e,
23   XFA_HASHCODE_Datasets = 0x99b95079,
24   XFA_HASHCODE_DataWindow = 0x83a550d2,
25   XFA_HASHCODE_Event = 0x185e41e2,
26   XFA_HASHCODE_Form = 0xcd309ff4,
27   XFA_HASHCODE_Group = 0xf7f75fcd,
28   XFA_HASHCODE_Host = 0xdb075bde,
29   XFA_HASHCODE_Layout = 0x7e7e845e,
30   XFA_HASHCODE_LocaleSet = 0x5473b6dc,
31   XFA_HASHCODE_Log = 0x0b1b3d22,
32   XFA_HASHCODE_Name = 0x31b19c1,
33   XFA_HASHCODE_Occur = 0xf7eebe1c,
34   XFA_HASHCODE_Pdf = 0xb843dba,
35   XFA_HASHCODE_Record = 0x5779d65f,
36   XFA_HASHCODE_Signature = 0x8b036f32,
37   XFA_HASHCODE_SourceSet = 0x811929d,
38   XFA_HASHCODE_Stylesheet = 0x6038580a,
39   XFA_HASHCODE_Template = 0x803550fc,
40   XFA_HASHCODE_This = 0x2d574d58,
41   XFA_HASHCODE_Xdc = 0xc56afbf,
42   XFA_HASHCODE_XDP = 0xc56afcc,
43   XFA_HASHCODE_Xfa = 0xc56b9ff,
44   XFA_HASHCODE_Xfdf = 0x48d004a8,
45   XFA_HASHCODE_Xmpmeta = 0x132a8fbc
46 };
47 
48 enum XFA_PACKET {
49   XFA_PACKET_USER,
50   XFA_PACKET_SourceSet,
51   XFA_PACKET_Pdf,
52   XFA_PACKET_Xdc,
53   XFA_PACKET_XDP,
54   XFA_PACKET_Xmpmeta,
55   XFA_PACKET_Xfdf,
56   XFA_PACKET_Config,
57   XFA_PACKET_LocaleSet,
58   XFA_PACKET_Stylesheet,
59   XFA_PACKET_Template,
60   XFA_PACKET_Signature,
61   XFA_PACKET_Datasets,
62   XFA_PACKET_Form,
63   XFA_PACKET_ConnectionSet,
64 };
65 
66 enum XFA_XDPPACKET {
67   XFA_XDPPACKET_UNKNOWN = 0,
68   XFA_XDPPACKET_Config = 1 << XFA_PACKET_Config,
69   XFA_XDPPACKET_Template = 1 << XFA_PACKET_Template,
70   XFA_XDPPACKET_Datasets = 1 << XFA_PACKET_Datasets,
71   XFA_XDPPACKET_Form = 1 << XFA_PACKET_Form,
72   XFA_XDPPACKET_LocaleSet = 1 << XFA_PACKET_LocaleSet,
73   XFA_XDPPACKET_ConnectionSet = 1 << XFA_PACKET_ConnectionSet,
74   XFA_XDPPACKET_SourceSet = 1 << XFA_PACKET_SourceSet,
75   XFA_XDPPACKET_Xdc = 1 << XFA_PACKET_Xdc,
76   XFA_XDPPACKET_Pdf = 1 << XFA_PACKET_Pdf,
77   XFA_XDPPACKET_Xfdf = 1 << XFA_PACKET_Xfdf,
78   XFA_XDPPACKET_Xmpmeta = 1 << XFA_PACKET_Xmpmeta,
79   XFA_XDPPACKET_Signature = 1 << XFA_PACKET_Signature,
80   XFA_XDPPACKET_Stylesheet = 1 << XFA_PACKET_Stylesheet,
81   XFA_XDPPACKET_USER = 1 << XFA_PACKET_USER,
82   XFA_XDPPACKET_XDP = 1 << XFA_PACKET_XDP,
83 };
84 enum XFA_XDPPACKET_FLAGS {
85   XFA_XDPPACKET_FLAGS_COMPLETEMATCH = 1,
86   XFA_XDPPACKET_FLAGS_PREFIXMATCH = 2,
87   XFA_XDPPACKET_FLAGS_NOMATCH = 4,
88   XFA_XDPPACKET_FLAGS_SUPPORTONE = 8,
89   XFA_XDPPACKET_FLAGS_SUPPORTMANY = 16,
90 };
91 struct XFA_PACKETINFO {
92   uint32_t uHash;
93   const FX_WCHAR* pName;
94   XFA_XDPPACKET eName;
95   const FX_WCHAR* pURI;
96   uint32_t eFlags;
97 };
98 
99 const XFA_PACKETINFO* XFA_GetPacketByName(const CFX_WideStringC& wsName);
100 const XFA_PACKETINFO* XFA_GetPacketByID(uint32_t dwPacket);
101 const XFA_PACKETINFO* XFA_GetPacketByIndex(XFA_PACKET ePacket);
102 
103 enum XFA_ATTRIBUTEENUM {
104   XFA_ATTRIBUTEENUM_Asterisk,
105   XFA_ATTRIBUTEENUM_Slash,
106   XFA_ATTRIBUTEENUM_Backslash,
107   XFA_ATTRIBUTEENUM_On,
108   XFA_ATTRIBUTEENUM_Tb,
109   XFA_ATTRIBUTEENUM_Up,
110   XFA_ATTRIBUTEENUM_MetaData,
111   XFA_ATTRIBUTEENUM_Delegate,
112   XFA_ATTRIBUTEENUM_PostSubmit,
113   XFA_ATTRIBUTEENUM_Name,
114   XFA_ATTRIBUTEENUM_Cross,
115   XFA_ATTRIBUTEENUM_Next,
116   XFA_ATTRIBUTEENUM_None,
117   XFA_ATTRIBUTEENUM_ShortEdge,
118   XFA_ATTRIBUTEENUM_1mod10_1mod11,
119   XFA_ATTRIBUTEENUM_Height,
120   XFA_ATTRIBUTEENUM_CrossDiagonal,
121   XFA_ATTRIBUTEENUM_All,
122   XFA_ATTRIBUTEENUM_Any,
123   XFA_ATTRIBUTEENUM_ToRight,
124   XFA_ATTRIBUTEENUM_MatchTemplate,
125   XFA_ATTRIBUTEENUM_Dpl,
126   XFA_ATTRIBUTEENUM_Invisible,
127   XFA_ATTRIBUTEENUM_Fit,
128   XFA_ATTRIBUTEENUM_Width,
129   XFA_ATTRIBUTEENUM_PreSubmit,
130   XFA_ATTRIBUTEENUM_Ipl,
131   XFA_ATTRIBUTEENUM_FlateCompress,
132   XFA_ATTRIBUTEENUM_Med,
133   XFA_ATTRIBUTEENUM_Odd,
134   XFA_ATTRIBUTEENUM_Off,
135   XFA_ATTRIBUTEENUM_Pdf,
136   XFA_ATTRIBUTEENUM_Row,
137   XFA_ATTRIBUTEENUM_Top,
138   XFA_ATTRIBUTEENUM_Xdp,
139   XFA_ATTRIBUTEENUM_Xfd,
140   XFA_ATTRIBUTEENUM_Xml,
141   XFA_ATTRIBUTEENUM_Zip,
142   XFA_ATTRIBUTEENUM_Zpl,
143   XFA_ATTRIBUTEENUM_Visible,
144   XFA_ATTRIBUTEENUM_Exclude,
145   XFA_ATTRIBUTEENUM_MouseEnter,
146   XFA_ATTRIBUTEENUM_Pair,
147   XFA_ATTRIBUTEENUM_Filter,
148   XFA_ATTRIBUTEENUM_MoveLast,
149   XFA_ATTRIBUTEENUM_ExportAndImport,
150   XFA_ATTRIBUTEENUM_Push,
151   XFA_ATTRIBUTEENUM_Portrait,
152   XFA_ATTRIBUTEENUM_Default,
153   XFA_ATTRIBUTEENUM_StoredProc,
154   XFA_ATTRIBUTEENUM_StayBOF,
155   XFA_ATTRIBUTEENUM_StayEOF,
156   XFA_ATTRIBUTEENUM_PostPrint,
157   XFA_ATTRIBUTEENUM_UsCarrier,
158   XFA_ATTRIBUTEENUM_Right,
159   XFA_ATTRIBUTEENUM_PreOpen,
160   XFA_ATTRIBUTEENUM_Actual,
161   XFA_ATTRIBUTEENUM_Rest,
162   XFA_ATTRIBUTEENUM_TopCenter,
163   XFA_ATTRIBUTEENUM_StandardSymbol,
164   XFA_ATTRIBUTEENUM_Initialize,
165   XFA_ATTRIBUTEENUM_JustifyAll,
166   XFA_ATTRIBUTEENUM_Normal,
167   XFA_ATTRIBUTEENUM_Landscape,
168   XFA_ATTRIBUTEENUM_NonInteractive,
169   XFA_ATTRIBUTEENUM_MouseExit,
170   XFA_ATTRIBUTEENUM_Minus,
171   XFA_ATTRIBUTEENUM_DiagonalLeft,
172   XFA_ATTRIBUTEENUM_SimplexPaginated,
173   XFA_ATTRIBUTEENUM_Document,
174   XFA_ATTRIBUTEENUM_Warning,
175   XFA_ATTRIBUTEENUM_Auto,
176   XFA_ATTRIBUTEENUM_Below,
177   XFA_ATTRIBUTEENUM_BottomLeft,
178   XFA_ATTRIBUTEENUM_BottomCenter,
179   XFA_ATTRIBUTEENUM_Tcpl,
180   XFA_ATTRIBUTEENUM_Text,
181   XFA_ATTRIBUTEENUM_Grouping,
182   XFA_ATTRIBUTEENUM_SecureSymbol,
183   XFA_ATTRIBUTEENUM_PreExecute,
184   XFA_ATTRIBUTEENUM_DocClose,
185   XFA_ATTRIBUTEENUM_Keyset,
186   XFA_ATTRIBUTEENUM_Vertical,
187   XFA_ATTRIBUTEENUM_PreSave,
188   XFA_ATTRIBUTEENUM_PreSign,
189   XFA_ATTRIBUTEENUM_Bottom,
190   XFA_ATTRIBUTEENUM_ToTop,
191   XFA_ATTRIBUTEENUM_Verify,
192   XFA_ATTRIBUTEENUM_First,
193   XFA_ATTRIBUTEENUM_ContentArea,
194   XFA_ATTRIBUTEENUM_Solid,
195   XFA_ATTRIBUTEENUM_Pessimistic,
196   XFA_ATTRIBUTEENUM_DuplexPaginated,
197   XFA_ATTRIBUTEENUM_Round,
198   XFA_ATTRIBUTEENUM_Remerge,
199   XFA_ATTRIBUTEENUM_Ordered,
200   XFA_ATTRIBUTEENUM_Percent,
201   XFA_ATTRIBUTEENUM_Even,
202   XFA_ATTRIBUTEENUM_Exit,
203   XFA_ATTRIBUTEENUM_ToolTip,
204   XFA_ATTRIBUTEENUM_OrderedOccurrence,
205   XFA_ATTRIBUTEENUM_ReadOnly,
206   XFA_ATTRIBUTEENUM_Currency,
207   XFA_ATTRIBUTEENUM_Concat,
208   XFA_ATTRIBUTEENUM_Thai,
209   XFA_ATTRIBUTEENUM_Embossed,
210   XFA_ATTRIBUTEENUM_Formdata,
211   XFA_ATTRIBUTEENUM_Greek,
212   XFA_ATTRIBUTEENUM_Decimal,
213   XFA_ATTRIBUTEENUM_Select,
214   XFA_ATTRIBUTEENUM_LongEdge,
215   XFA_ATTRIBUTEENUM_Protected,
216   XFA_ATTRIBUTEENUM_BottomRight,
217   XFA_ATTRIBUTEENUM_Zero,
218   XFA_ATTRIBUTEENUM_ForwardOnly,
219   XFA_ATTRIBUTEENUM_DocReady,
220   XFA_ATTRIBUTEENUM_Hidden,
221   XFA_ATTRIBUTEENUM_Include,
222   XFA_ATTRIBUTEENUM_Dashed,
223   XFA_ATTRIBUTEENUM_MultiSelect,
224   XFA_ATTRIBUTEENUM_Inactive,
225   XFA_ATTRIBUTEENUM_Embed,
226   XFA_ATTRIBUTEENUM_Static,
227   XFA_ATTRIBUTEENUM_OnEntry,
228   XFA_ATTRIBUTEENUM_Cyrillic,
229   XFA_ATTRIBUTEENUM_NonBlank,
230   XFA_ATTRIBUTEENUM_TopRight,
231   XFA_ATTRIBUTEENUM_Hebrew,
232   XFA_ATTRIBUTEENUM_TopLeft,
233   XFA_ATTRIBUTEENUM_Center,
234   XFA_ATTRIBUTEENUM_MoveFirst,
235   XFA_ATTRIBUTEENUM_Diamond,
236   XFA_ATTRIBUTEENUM_PageOdd,
237   XFA_ATTRIBUTEENUM_1mod10,
238   XFA_ATTRIBUTEENUM_Korean,
239   XFA_ATTRIBUTEENUM_AboveEmbedded,
240   XFA_ATTRIBUTEENUM_ZipCompress,
241   XFA_ATTRIBUTEENUM_Numeric,
242   XFA_ATTRIBUTEENUM_Circle,
243   XFA_ATTRIBUTEENUM_ToBottom,
244   XFA_ATTRIBUTEENUM_Inverted,
245   XFA_ATTRIBUTEENUM_Update,
246   XFA_ATTRIBUTEENUM_Isoname,
247   XFA_ATTRIBUTEENUM_Server,
248   XFA_ATTRIBUTEENUM_Position,
249   XFA_ATTRIBUTEENUM_MiddleCenter,
250   XFA_ATTRIBUTEENUM_Optional,
251   XFA_ATTRIBUTEENUM_UsePrinterSetting,
252   XFA_ATTRIBUTEENUM_Outline,
253   XFA_ATTRIBUTEENUM_IndexChange,
254   XFA_ATTRIBUTEENUM_Change,
255   XFA_ATTRIBUTEENUM_PageArea,
256   XFA_ATTRIBUTEENUM_Once,
257   XFA_ATTRIBUTEENUM_Only,
258   XFA_ATTRIBUTEENUM_Open,
259   XFA_ATTRIBUTEENUM_Caption,
260   XFA_ATTRIBUTEENUM_Raised,
261   XFA_ATTRIBUTEENUM_Justify,
262   XFA_ATTRIBUTEENUM_RefAndDescendants,
263   XFA_ATTRIBUTEENUM_Short,
264   XFA_ATTRIBUTEENUM_PageFront,
265   XFA_ATTRIBUTEENUM_Monospace,
266   XFA_ATTRIBUTEENUM_Middle,
267   XFA_ATTRIBUTEENUM_PrePrint,
268   XFA_ATTRIBUTEENUM_Always,
269   XFA_ATTRIBUTEENUM_Unknown,
270   XFA_ATTRIBUTEENUM_ToLeft,
271   XFA_ATTRIBUTEENUM_Above,
272   XFA_ATTRIBUTEENUM_DashDot,
273   XFA_ATTRIBUTEENUM_Gregorian,
274   XFA_ATTRIBUTEENUM_Roman,
275   XFA_ATTRIBUTEENUM_MouseDown,
276   XFA_ATTRIBUTEENUM_Symbol,
277   XFA_ATTRIBUTEENUM_PageEven,
278   XFA_ATTRIBUTEENUM_Sign,
279   XFA_ATTRIBUTEENUM_AddNew,
280   XFA_ATTRIBUTEENUM_Star,
281   XFA_ATTRIBUTEENUM_Optimistic,
282   XFA_ATTRIBUTEENUM_Rl_tb,
283   XFA_ATTRIBUTEENUM_MiddleRight,
284   XFA_ATTRIBUTEENUM_Maintain,
285   XFA_ATTRIBUTEENUM_Package,
286   XFA_ATTRIBUTEENUM_SimplifiedChinese,
287   XFA_ATTRIBUTEENUM_ToCenter,
288   XFA_ATTRIBUTEENUM_Back,
289   XFA_ATTRIBUTEENUM_Unspecified,
290   XFA_ATTRIBUTEENUM_BatchOptimistic,
291   XFA_ATTRIBUTEENUM_Bold,
292   XFA_ATTRIBUTEENUM_Both,
293   XFA_ATTRIBUTEENUM_Butt,
294   XFA_ATTRIBUTEENUM_Client,
295   XFA_ATTRIBUTEENUM_2mod10,
296   XFA_ATTRIBUTEENUM_ImageOnly,
297   XFA_ATTRIBUTEENUM_Horizontal,
298   XFA_ATTRIBUTEENUM_Dotted,
299   XFA_ATTRIBUTEENUM_UserControl,
300   XFA_ATTRIBUTEENUM_DiagonalRight,
301   XFA_ATTRIBUTEENUM_ConsumeData,
302   XFA_ATTRIBUTEENUM_Check,
303   XFA_ATTRIBUTEENUM_Data,
304   XFA_ATTRIBUTEENUM_Down,
305   XFA_ATTRIBUTEENUM_SansSerif,
306   XFA_ATTRIBUTEENUM_Inline,
307   XFA_ATTRIBUTEENUM_TraditionalChinese,
308   XFA_ATTRIBUTEENUM_Warn,
309   XFA_ATTRIBUTEENUM_RefOnly,
310   XFA_ATTRIBUTEENUM_InteractiveForms,
311   XFA_ATTRIBUTEENUM_Word,
312   XFA_ATTRIBUTEENUM_Unordered,
313   XFA_ATTRIBUTEENUM_Required,
314   XFA_ATTRIBUTEENUM_ImportOnly,
315   XFA_ATTRIBUTEENUM_BelowEmbedded,
316   XFA_ATTRIBUTEENUM_Japanese,
317   XFA_ATTRIBUTEENUM_Full,
318   XFA_ATTRIBUTEENUM_Rl_row,
319   XFA_ATTRIBUTEENUM_Vietnamese,
320   XFA_ATTRIBUTEENUM_EastEuropeanRoman,
321   XFA_ATTRIBUTEENUM_MouseUp,
322   XFA_ATTRIBUTEENUM_ExportOnly,
323   XFA_ATTRIBUTEENUM_Clear,
324   XFA_ATTRIBUTEENUM_Click,
325   XFA_ATTRIBUTEENUM_Base64,
326   XFA_ATTRIBUTEENUM_Close,
327   XFA_ATTRIBUTEENUM_Host,
328   XFA_ATTRIBUTEENUM_Global,
329   XFA_ATTRIBUTEENUM_Blank,
330   XFA_ATTRIBUTEENUM_Table,
331   XFA_ATTRIBUTEENUM_Import,
332   XFA_ATTRIBUTEENUM_Custom,
333   XFA_ATTRIBUTEENUM_MiddleLeft,
334   XFA_ATTRIBUTEENUM_PostExecute,
335   XFA_ATTRIBUTEENUM_Radix,
336   XFA_ATTRIBUTEENUM_PostOpen,
337   XFA_ATTRIBUTEENUM_Enter,
338   XFA_ATTRIBUTEENUM_Ignore,
339   XFA_ATTRIBUTEENUM_Lr_tb,
340   XFA_ATTRIBUTEENUM_Fantasy,
341   XFA_ATTRIBUTEENUM_Italic,
342   XFA_ATTRIBUTEENUM_Author,
343   XFA_ATTRIBUTEENUM_ToEdge,
344   XFA_ATTRIBUTEENUM_Choice,
345   XFA_ATTRIBUTEENUM_Disabled,
346   XFA_ATTRIBUTEENUM_CrossHatch,
347   XFA_ATTRIBUTEENUM_DataRef,
348   XFA_ATTRIBUTEENUM_DashDotDot,
349   XFA_ATTRIBUTEENUM_Square,
350   XFA_ATTRIBUTEENUM_Dynamic,
351   XFA_ATTRIBUTEENUM_Manual,
352   XFA_ATTRIBUTEENUM_Etched,
353   XFA_ATTRIBUTEENUM_ValidationState,
354   XFA_ATTRIBUTEENUM_Cursive,
355   XFA_ATTRIBUTEENUM_Last,
356   XFA_ATTRIBUTEENUM_Left,
357   XFA_ATTRIBUTEENUM_Link,
358   XFA_ATTRIBUTEENUM_Long,
359   XFA_ATTRIBUTEENUM_InternationalCarrier,
360   XFA_ATTRIBUTEENUM_PDF1_3,
361   XFA_ATTRIBUTEENUM_PDF1_6,
362   XFA_ATTRIBUTEENUM_Serif,
363   XFA_ATTRIBUTEENUM_PostSave,
364   XFA_ATTRIBUTEENUM_Ready,
365   XFA_ATTRIBUTEENUM_PostSign,
366   XFA_ATTRIBUTEENUM_Arabic,
367   XFA_ATTRIBUTEENUM_Error,
368   XFA_ATTRIBUTEENUM_Urlencoded,
369   XFA_ATTRIBUTEENUM_Lowered,
370 };
371 enum XFA_ATTRIBUTE {
372   XFA_ATTRIBUTE_H,
373   XFA_ATTRIBUTE_W,
374   XFA_ATTRIBUTE_X,
375   XFA_ATTRIBUTE_Y,
376   XFA_ATTRIBUTE_Id,
377   XFA_ATTRIBUTE_To,
378   XFA_ATTRIBUTE_LineThrough,
379   XFA_ATTRIBUTE_HAlign,
380   XFA_ATTRIBUTE_Typeface,
381   XFA_ATTRIBUTE_BeforeTarget,
382   XFA_ATTRIBUTE_Name,
383   XFA_ATTRIBUTE_Next,
384   XFA_ATTRIBUTE_DataRowCount,
385   XFA_ATTRIBUTE_Break,
386   XFA_ATTRIBUTE_VScrollPolicy,
387   XFA_ATTRIBUTE_FontHorizontalScale,
388   XFA_ATTRIBUTE_TextIndent,
389   XFA_ATTRIBUTE_Context,
390   XFA_ATTRIBUTE_TrayOut,
391   XFA_ATTRIBUTE_Cap,
392   XFA_ATTRIBUTE_Max,
393   XFA_ATTRIBUTE_Min,
394   XFA_ATTRIBUTE_Ref,
395   XFA_ATTRIBUTE_Rid,
396   XFA_ATTRIBUTE_Url,
397   XFA_ATTRIBUTE_Use,
398   XFA_ATTRIBUTE_LeftInset,
399   XFA_ATTRIBUTE_Widows,
400   XFA_ATTRIBUTE_Level,
401   XFA_ATTRIBUTE_BottomInset,
402   XFA_ATTRIBUTE_OverflowTarget,
403   XFA_ATTRIBUTE_AllowMacro,
404   XFA_ATTRIBUTE_PagePosition,
405   XFA_ATTRIBUTE_ColumnWidths,
406   XFA_ATTRIBUTE_OverflowLeader,
407   XFA_ATTRIBUTE_Action,
408   XFA_ATTRIBUTE_NonRepudiation,
409   XFA_ATTRIBUTE_Rate,
410   XFA_ATTRIBUTE_AllowRichText,
411   XFA_ATTRIBUTE_Role,
412   XFA_ATTRIBUTE_OverflowTrailer,
413   XFA_ATTRIBUTE_Operation,
414   XFA_ATTRIBUTE_Timeout,
415   XFA_ATTRIBUTE_TopInset,
416   XFA_ATTRIBUTE_Access,
417   XFA_ATTRIBUTE_CommandType,
418   XFA_ATTRIBUTE_Format,
419   XFA_ATTRIBUTE_DataPrep,
420   XFA_ATTRIBUTE_WidgetData,
421   XFA_ATTRIBUTE_Abbr,
422   XFA_ATTRIBUTE_MarginRight,
423   XFA_ATTRIBUTE_DataDescription,
424   XFA_ATTRIBUTE_EncipherOnly,
425   XFA_ATTRIBUTE_KerningMode,
426   XFA_ATTRIBUTE_Rotate,
427   XFA_ATTRIBUTE_WordCharacterCount,
428   XFA_ATTRIBUTE_Type,
429   XFA_ATTRIBUTE_Reserve,
430   XFA_ATTRIBUTE_TextLocation,
431   XFA_ATTRIBUTE_Priority,
432   XFA_ATTRIBUTE_Underline,
433   XFA_ATTRIBUTE_ModuleWidth,
434   XFA_ATTRIBUTE_Hyphenate,
435   XFA_ATTRIBUTE_Listen,
436   XFA_ATTRIBUTE_Delimiter,
437   XFA_ATTRIBUTE_ContentType,
438   XFA_ATTRIBUTE_StartNew,
439   XFA_ATTRIBUTE_EofAction,
440   XFA_ATTRIBUTE_AllowNeutral,
441   XFA_ATTRIBUTE_Connection,
442   XFA_ATTRIBUTE_BaselineShift,
443   XFA_ATTRIBUTE_OverlinePeriod,
444   XFA_ATTRIBUTE_FracDigits,
445   XFA_ATTRIBUTE_Orientation,
446   XFA_ATTRIBUTE_TimeStamp,
447   XFA_ATTRIBUTE_PrintCheckDigit,
448   XFA_ATTRIBUTE_MarginLeft,
449   XFA_ATTRIBUTE_Stroke,
450   XFA_ATTRIBUTE_ModuleHeight,
451   XFA_ATTRIBUTE_TransferEncoding,
452   XFA_ATTRIBUTE_Usage,
453   XFA_ATTRIBUTE_Presence,
454   XFA_ATTRIBUTE_RadixOffset,
455   XFA_ATTRIBUTE_Preserve,
456   XFA_ATTRIBUTE_AliasNode,
457   XFA_ATTRIBUTE_MultiLine,
458   XFA_ATTRIBUTE_Version,
459   XFA_ATTRIBUTE_StartChar,
460   XFA_ATTRIBUTE_ScriptTest,
461   XFA_ATTRIBUTE_StartAngle,
462   XFA_ATTRIBUTE_CursorType,
463   XFA_ATTRIBUTE_DigitalSignature,
464   XFA_ATTRIBUTE_CodeType,
465   XFA_ATTRIBUTE_Output,
466   XFA_ATTRIBUTE_BookendTrailer,
467   XFA_ATTRIBUTE_ImagingBBox,
468   XFA_ATTRIBUTE_ExcludeInitialCap,
469   XFA_ATTRIBUTE_Force,
470   XFA_ATTRIBUTE_CrlSign,
471   XFA_ATTRIBUTE_Previous,
472   XFA_ATTRIBUTE_PushCharacterCount,
473   XFA_ATTRIBUTE_NullTest,
474   XFA_ATTRIBUTE_RunAt,
475   XFA_ATTRIBUTE_SpaceBelow,
476   XFA_ATTRIBUTE_SweepAngle,
477   XFA_ATTRIBUTE_NumberOfCells,
478   XFA_ATTRIBUTE_LetterSpacing,
479   XFA_ATTRIBUTE_LockType,
480   XFA_ATTRIBUTE_PasswordChar,
481   XFA_ATTRIBUTE_VAlign,
482   XFA_ATTRIBUTE_SourceBelow,
483   XFA_ATTRIBUTE_Inverted,
484   XFA_ATTRIBUTE_Mark,
485   XFA_ATTRIBUTE_MaxH,
486   XFA_ATTRIBUTE_MaxW,
487   XFA_ATTRIBUTE_Truncate,
488   XFA_ATTRIBUTE_MinH,
489   XFA_ATTRIBUTE_MinW,
490   XFA_ATTRIBUTE_Initial,
491   XFA_ATTRIBUTE_Mode,
492   XFA_ATTRIBUTE_Layout,
493   XFA_ATTRIBUTE_Server,
494   XFA_ATTRIBUTE_EmbedPDF,
495   XFA_ATTRIBUTE_OddOrEven,
496   XFA_ATTRIBUTE_TabDefault,
497   XFA_ATTRIBUTE_Contains,
498   XFA_ATTRIBUTE_RightInset,
499   XFA_ATTRIBUTE_MaxChars,
500   XFA_ATTRIBUTE_Open,
501   XFA_ATTRIBUTE_Relation,
502   XFA_ATTRIBUTE_WideNarrowRatio,
503   XFA_ATTRIBUTE_Relevant,
504   XFA_ATTRIBUTE_SignatureType,
505   XFA_ATTRIBUTE_LineThroughPeriod,
506   XFA_ATTRIBUTE_Shape,
507   XFA_ATTRIBUTE_TabStops,
508   XFA_ATTRIBUTE_OutputBelow,
509   XFA_ATTRIBUTE_Short,
510   XFA_ATTRIBUTE_FontVerticalScale,
511   XFA_ATTRIBUTE_Thickness,
512   XFA_ATTRIBUTE_CommitOn,
513   XFA_ATTRIBUTE_RemainCharacterCount,
514   XFA_ATTRIBUTE_KeyAgreement,
515   XFA_ATTRIBUTE_ErrorCorrectionLevel,
516   XFA_ATTRIBUTE_UpsMode,
517   XFA_ATTRIBUTE_MergeMode,
518   XFA_ATTRIBUTE_Circular,
519   XFA_ATTRIBUTE_PsName,
520   XFA_ATTRIBUTE_Trailer,
521   XFA_ATTRIBUTE_UnicodeRange,
522   XFA_ATTRIBUTE_ExecuteType,
523   XFA_ATTRIBUTE_DuplexImposition,
524   XFA_ATTRIBUTE_TrayIn,
525   XFA_ATTRIBUTE_BindingNode,
526   XFA_ATTRIBUTE_BofAction,
527   XFA_ATTRIBUTE_Save,
528   XFA_ATTRIBUTE_TargetType,
529   XFA_ATTRIBUTE_KeyEncipherment,
530   XFA_ATTRIBUTE_CredentialServerPolicy,
531   XFA_ATTRIBUTE_Size,
532   XFA_ATTRIBUTE_InitialNumber,
533   XFA_ATTRIBUTE_Slope,
534   XFA_ATTRIBUTE_CSpace,
535   XFA_ATTRIBUTE_ColSpan,
536   XFA_ATTRIBUTE_Binding,
537   XFA_ATTRIBUTE_Checksum,
538   XFA_ATTRIBUTE_CharEncoding,
539   XFA_ATTRIBUTE_Bind,
540   XFA_ATTRIBUTE_TextEntry,
541   XFA_ATTRIBUTE_Archive,
542   XFA_ATTRIBUTE_Uuid,
543   XFA_ATTRIBUTE_Posture,
544   XFA_ATTRIBUTE_After,
545   XFA_ATTRIBUTE_Orphans,
546   XFA_ATTRIBUTE_QualifiedName,
547   XFA_ATTRIBUTE_Usehref,
548   XFA_ATTRIBUTE_Locale,
549   XFA_ATTRIBUTE_Weight,
550   XFA_ATTRIBUTE_UnderlinePeriod,
551   XFA_ATTRIBUTE_Data,
552   XFA_ATTRIBUTE_Desc,
553   XFA_ATTRIBUTE_Numbered,
554   XFA_ATTRIBUTE_DataColumnCount,
555   XFA_ATTRIBUTE_Overline,
556   XFA_ATTRIBUTE_UrlPolicy,
557   XFA_ATTRIBUTE_AnchorType,
558   XFA_ATTRIBUTE_LabelRef,
559   XFA_ATTRIBUTE_BookendLeader,
560   XFA_ATTRIBUTE_MaxLength,
561   XFA_ATTRIBUTE_AccessKey,
562   XFA_ATTRIBUTE_CursorLocation,
563   XFA_ATTRIBUTE_DelayedOpen,
564   XFA_ATTRIBUTE_Target,
565   XFA_ATTRIBUTE_DataEncipherment,
566   XFA_ATTRIBUTE_AfterTarget,
567   XFA_ATTRIBUTE_Leader,
568   XFA_ATTRIBUTE_Picker,
569   XFA_ATTRIBUTE_From,
570   XFA_ATTRIBUTE_BaseProfile,
571   XFA_ATTRIBUTE_Aspect,
572   XFA_ATTRIBUTE_RowColumnRatio,
573   XFA_ATTRIBUTE_LineHeight,
574   XFA_ATTRIBUTE_Highlight,
575   XFA_ATTRIBUTE_ValueRef,
576   XFA_ATTRIBUTE_MaxEntries,
577   XFA_ATTRIBUTE_DataLength,
578   XFA_ATTRIBUTE_Activity,
579   XFA_ATTRIBUTE_Input,
580   XFA_ATTRIBUTE_Value,
581   XFA_ATTRIBUTE_BlankOrNotBlank,
582   XFA_ATTRIBUTE_AddRevocationInfo,
583   XFA_ATTRIBUTE_GenericFamily,
584   XFA_ATTRIBUTE_Hand,
585   XFA_ATTRIBUTE_Href,
586   XFA_ATTRIBUTE_TextEncoding,
587   XFA_ATTRIBUTE_LeadDigits,
588   XFA_ATTRIBUTE_Permissions,
589   XFA_ATTRIBUTE_SpaceAbove,
590   XFA_ATTRIBUTE_CodeBase,
591   XFA_ATTRIBUTE_Stock,
592   XFA_ATTRIBUTE_IsNull,
593   XFA_ATTRIBUTE_RestoreState,
594   XFA_ATTRIBUTE_ExcludeAllCaps,
595   XFA_ATTRIBUTE_FormatTest,
596   XFA_ATTRIBUTE_HScrollPolicy,
597   XFA_ATTRIBUTE_Join,
598   XFA_ATTRIBUTE_KeyCertSign,
599   XFA_ATTRIBUTE_Radius,
600   XFA_ATTRIBUTE_SourceAbove,
601   XFA_ATTRIBUTE_Override,
602   XFA_ATTRIBUTE_ClassId,
603   XFA_ATTRIBUTE_Disable,
604   XFA_ATTRIBUTE_Scope,
605   XFA_ATTRIBUTE_Match,
606   XFA_ATTRIBUTE_Placement,
607   XFA_ATTRIBUTE_Before,
608   XFA_ATTRIBUTE_WritingScript,
609   XFA_ATTRIBUTE_EndChar,
610   XFA_ATTRIBUTE_Lock,
611   XFA_ATTRIBUTE_Long,
612   XFA_ATTRIBUTE_Intact,
613   XFA_ATTRIBUTE_XdpContent,
614   XFA_ATTRIBUTE_DecipherOnly,
615 };
616 
617 enum class XFA_Element : int32_t {
618   Unknown = -1,
619 
620   Ps,
621   To,
622   Ui,
623   RecordSet,
624   SubsetBelow,
625   SubformSet,
626   AdobeExtensionLevel,
627   Typeface,
628   Break,
629   FontInfo,
630   NumberPattern,
631   DynamicRender,
632   PrintScaling,
633   CheckButton,
634   DatePatterns,
635   SourceSet,
636   Amd,
637   Arc,
638   Day,
639   Era,
640   Jog,
641   Log,
642   Map,
643   Mdp,
644   BreakBefore,
645   Oid,
646   Pcl,
647   Pdf,
648   Ref,
649   Uri,
650   Xdc,
651   Xdp,
652   Xfa,
653   Xsl,
654   Zpl,
655   Cache,
656   Margin,
657   KeyUsage,
658   Exclude,
659   ChoiceList,
660   Level,
661   LabelPrinter,
662   CalendarSymbols,
663   Para,
664   Part,
665   Pdfa,
666   Filter,
667   Present,
668   Pagination,
669   Encoding,
670   Event,
671   Whitespace,
672   DefaultUi,
673   DataModel,
674   Barcode,
675   TimePattern,
676   BatchOutput,
677   Enforce,
678   CurrencySymbols,
679   AddSilentPrint,
680   Rename,
681   Operation,
682   Typefaces,
683   SubjectDNs,
684   Issuers,
685   SignaturePseudoModel,
686   WsdlConnection,
687   Debug,
688   Delta,
689   EraNames,
690   ModifyAnnots,
691   StartNode,
692   Button,
693   Format,
694   Border,
695   Area,
696   Hyphenation,
697   Text,
698   Time,
699   Type,
700   Overprint,
701   Certificates,
702   EncryptionMethods,
703   SetProperty,
704   PrinterName,
705   StartPage,
706   PageOffset,
707   DateTime,
708   Comb,
709   Pattern,
710   IfEmpty,
711   SuppressBanner,
712   OutputBin,
713   Field,
714   Agent,
715   OutputXSL,
716   AdjustData,
717   AutoSave,
718   ContentArea,
719   EventPseudoModel,
720   WsdlAddress,
721   Solid,
722   DateTimeSymbols,
723   EncryptionLevel,
724   Edge,
725   Stipple,
726   Attributes,
727   VersionControl,
728   Meridiem,
729   ExclGroup,
730   ToolTip,
731   Compress,
732   Reason,
733   Execute,
734   ContentCopy,
735   DateTimeEdit,
736   Config,
737   Image,
738   SharpxHTML,
739   NumberOfCopies,
740   BehaviorOverride,
741   TimeStamp,
742   Month,
743   ViewerPreferences,
744   ScriptModel,
745   Decimal,
746   Subform,
747   Select,
748   Window,
749   LocaleSet,
750   Handler,
751   HostPseudoModel,
752   Presence,
753   Record,
754   Embed,
755   Version,
756   Command,
757   Copies,
758   Staple,
759   SubmitFormat,
760   Boolean,
761   Message,
762   Output,
763   PsMap,
764   ExcludeNS,
765   Assist,
766   Picture,
767   Traversal,
768   SilentPrint,
769   WebClient,
770   LayoutPseudoModel,
771   Producer,
772   Corner,
773   MsgId,
774   Color,
775   Keep,
776   Query,
777   Insert,
778   ImageEdit,
779   Validate,
780   DigestMethods,
781   NumberPatterns,
782   PageSet,
783   Integer,
784   SoapAddress,
785   Equate,
786   FormFieldFilling,
787   PageRange,
788   Update,
789   ConnectString,
790   Mode,
791   Layout,
792   Sharpxml,
793   XsdConnection,
794   Traverse,
795   Encodings,
796   Template,
797   Acrobat,
798   ValidationMessaging,
799   Signing,
800   DataWindow,
801   Script,
802   AddViewerPreferences,
803   AlwaysEmbed,
804   PasswordEdit,
805   NumericEdit,
806   EncryptionMethod,
807   Change,
808   PageArea,
809   SubmitUrl,
810   Oids,
811   Signature,
812   ADBE_JSConsole,
813   Caption,
814   Relevant,
815   FlipLabel,
816   ExData,
817   DayNames,
818   SoapAction,
819   DefaultTypeface,
820   Manifest,
821   Overflow,
822   Linear,
823   CurrencySymbol,
824   Delete,
825   Deltas,
826   DigestMethod,
827   InstanceManager,
828   EquateRange,
829   Medium,
830   TextEdit,
831   TemplateCache,
832   CompressObjectStream,
833   DataValue,
834   AccessibleContent,
835   NodeList,
836   IncludeXDPContent,
837   XmlConnection,
838   ValidateApprovalSignatures,
839   SignData,
840   Packets,
841   DatePattern,
842   DuplexOption,
843   Base,
844   Bind,
845   Compression,
846   User,
847   Rectangle,
848   EffectiveOutputPolicy,
849   ADBE_JSDebugger,
850   Acrobat7,
851   Interactive,
852   Locale,
853   CurrentPage,
854   Data,
855   Date,
856   Desc,
857   Encrypt,
858   Draw,
859   Encryption,
860   MeridiemNames,
861   Messaging,
862   Speak,
863   DataGroup,
864   Common,
865   Sharptext,
866   PaginationOverride,
867   Reasons,
868   SignatureProperties,
869   Threshold,
870   AppearanceFilter,
871   Fill,
872   Font,
873   Form,
874   MediumInfo,
875   Certificate,
876   Password,
877   RunScripts,
878   Trace,
879   Float,
880   RenderPolicy,
881   LogPseudoModel,
882   Destination,
883   Value,
884   Bookend,
885   ExObject,
886   OpenAction,
887   NeverEmbed,
888   BindItems,
889   Calculate,
890   Print,
891   Extras,
892   Proto,
893   DSigData,
894   Creator,
895   Connect,
896   Permissions,
897   ConnectionSet,
898   Submit,
899   Range,
900   Linearized,
901   Packet,
902   RootElement,
903   PlaintextMetadata,
904   NumberSymbols,
905   PrintHighQuality,
906   Driver,
907   IncrementalLoad,
908   SubjectDN,
909   CompressLogicalStructure,
910   IncrementalMerge,
911   Radial,
912   Variables,
913   TimePatterns,
914   EffectiveInputPolicy,
915   NameAttr,
916   Conformance,
917   Transform,
918   LockDocument,
919   BreakAfter,
920   Line,
921   List,
922   Source,
923   Occur,
924   PickTrayByPDFSize,
925   MonthNames,
926   Severity,
927   GroupParent,
928   DocumentAssembly,
929   NumberSymbol,
930   Tagged,
931   Items
932 };
933 struct XFA_ELEMENTINFO {
934   uint32_t uHash;
935   const FX_WCHAR* pName;
936   XFA_Element eName;
937   uint32_t dwPackets;
938   XFA_ObjectType eObjectType;
939 };
940 
941 XFA_Element XFA_GetElementTypeForName(const CFX_WideStringC& wsName);
942 const XFA_ELEMENTINFO* XFA_GetElementByID(XFA_Element eName);
943 
944 enum XFA_ATTRIBUTETYPE {
945   XFA_ATTRIBUTETYPE_NOTSURE,
946   XFA_ATTRIBUTETYPE_Enum,
947   XFA_ATTRIBUTETYPE_Cdata,
948   XFA_ATTRIBUTETYPE_Boolean,
949   XFA_ATTRIBUTETYPE_Integer,
950   XFA_ATTRIBUTETYPE_Measure,
951 };
952 struct XFA_ATTRIBUTEINFO {
953   uint32_t uHash;
954   const FX_WCHAR* pName;
955   XFA_ATTRIBUTE eName;
956   XFA_ATTRIBUTETYPE eType;
957   uint32_t dwPackets;
958   void* pDefValue;
959 };
960 
961 const XFA_ATTRIBUTEINFO* XFA_GetAttributeByName(const CFX_WideStringC& wsName);
962 const XFA_ATTRIBUTEINFO* XFA_GetAttributeByID(XFA_ATTRIBUTE eName);
963 FX_BOOL XFA_GetAttributeDefaultValue(void*& pValue,
964                                      XFA_Element eElement,
965                                      XFA_ATTRIBUTE eAttribute,
966                                      XFA_ATTRIBUTETYPE eType,
967                                      uint32_t dwPacket);
968 XFA_ATTRIBUTEENUM XFA_GetAttributeDefaultValue_Enum(XFA_Element eElement,
969                                                     XFA_ATTRIBUTE eAttribute,
970                                                     uint32_t dwPacket);
971 CFX_WideStringC XFA_GetAttributeDefaultValue_Cdata(XFA_Element eElement,
972                                                    XFA_ATTRIBUTE eAttribute,
973                                                    uint32_t dwPacket);
974 FX_BOOL XFA_GetAttributeDefaultValue_Boolean(XFA_Element eElement,
975                                              XFA_ATTRIBUTE eAttribute,
976                                              uint32_t dwPacket);
977 CXFA_Measurement XFA_GetAttributeDefaultValue_Measure(XFA_Element eElement,
978                                                       XFA_ATTRIBUTE eAttribute,
979                                                       uint32_t dwPacket);
980 struct XFA_ELEMENTHIERARCHY {
981   uint16_t wStart;
982   uint16_t wCount;
983 };
984 
985 struct XFA_SCRIPTHIERARCHY {
986   uint16_t wMethodStart;
987   uint16_t wMethodCount;
988   uint16_t wAttributeStart;
989   uint16_t wAttributeCount;
990   int16_t wParentIndex;
991 };
992 
993 const uint8_t* XFA_GetElementAttributes(XFA_Element eElement, int32_t& iCount);
994 
995 const XFA_ATTRIBUTEINFO* XFA_GetAttributeOfElement(XFA_Element eElement,
996                                                    XFA_ATTRIBUTE eAttribute,
997                                                    uint32_t dwPacket);
998 #define XFA_PROPERTYFLAG_OneOf 0x01
999 #define XFA_PROPERTYFLAG_DefaultOneOf 0x02
1000 struct XFA_PROPERTY {
1001   XFA_Element eName;
1002   uint8_t uOccur;
1003   uint8_t uFlags;
1004 };
1005 const XFA_PROPERTY* XFA_GetElementProperties(XFA_Element eElement,
1006                                              int32_t& iCount);
1007 const XFA_PROPERTY* XFA_GetPropertyOfElement(XFA_Element eElement,
1008                                              XFA_Element eProperty,
1009                                              uint32_t dwPacket);
1010 struct XFA_ATTRIBUTEENUMINFO {
1011   uint32_t uHash;
1012   const FX_WCHAR* pName;
1013   XFA_ATTRIBUTEENUM eName;
1014 };
1015 const XFA_ATTRIBUTEENUMINFO* XFA_GetAttributeEnumByName(
1016     const CFX_WideStringC& wsName);
1017 const XFA_ATTRIBUTEENUMINFO* XFA_GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName);
1018 enum XFA_UNIT {
1019   XFA_UNIT_Unknown,
1020   XFA_UNIT_Percent,
1021   XFA_UNIT_Angle,
1022   XFA_UNIT_Em,
1023   XFA_UNIT_Pt,
1024   XFA_UNIT_In,
1025   XFA_UNIT_Pc,
1026   XFA_UNIT_Cm,
1027   XFA_UNIT_Mm,
1028   XFA_UNIT_Mp,
1029 };
1030 class CXFA_Measurement {
1031  public:
1032   void Set(const CFX_WideStringC& wsMeasure);
Set(FX_FLOAT fValue,XFA_UNIT eUnit)1033   void Set(FX_FLOAT fValue, XFA_UNIT eUnit) {
1034     m_fValue = fValue;
1035     m_eUnit = eUnit;
1036   }
1037 
GetUnit()1038   XFA_UNIT GetUnit() const { return m_eUnit; }
GetValue()1039   FX_FLOAT GetValue() const { return m_fValue; }
1040   FX_BOOL ToString(CFX_WideString& wsMeasure) const;
1041   FX_BOOL ToUnit(XFA_UNIT eUnit, FX_FLOAT& fValue) const;
ToUnit(XFA_UNIT eUnit)1042   FX_FLOAT ToUnit(XFA_UNIT eUnit) const {
1043     FX_FLOAT f;
1044     return ToUnit(eUnit, f) ? f : 0;
1045   }
CXFA_Measurement()1046   CXFA_Measurement() { Set(-1, XFA_UNIT_Unknown); }
CXFA_Measurement(const CFX_WideStringC & wsMeasure)1047   CXFA_Measurement(const CFX_WideStringC& wsMeasure) { Set(wsMeasure); }
CXFA_Measurement(FX_FLOAT fValue,XFA_UNIT eUnit)1048   CXFA_Measurement(FX_FLOAT fValue, XFA_UNIT eUnit) { Set(fValue, eUnit); }
1049   static XFA_UNIT GetUnit(const CFX_WideStringC& wsUnit);
1050 
1051  protected:
1052   FX_FLOAT m_fValue;
1053   XFA_UNIT m_eUnit;
1054 };
1055 
1056 class CFXJSE_Arguments;
1057 class CXFA_Object;
1058 
1059 typedef void (CXFA_Object::*XFA_METHOD_CALLBACK)(CFXJSE_Arguments* pArguments);
1060 struct XFA_METHODINFO {
1061   uint32_t uHash;
1062   const FX_WCHAR* pName;
1063   XFA_METHOD_CALLBACK lpfnCallback;
1064 };
1065 
1066 const XFA_METHODINFO* XFA_GetMethodByName(XFA_Element eElement,
1067                                           const CFX_WideStringC& wsMethodName);
1068 typedef void (CXFA_Object::*XFA_ATTRIBUTE_CALLBACK)(CFXJSE_Value* pValue,
1069                                                     FX_BOOL bSetting,
1070                                                     XFA_ATTRIBUTE eAttribute);
1071 enum XFA_SCRIPT_TYPE {
1072   XFA_SCRIPT_Basic,
1073   XFA_SCRIPT_Object,
1074 };
1075 struct XFA_SCRIPTATTRIBUTEINFO {
1076   uint32_t uHash;
1077   const FX_WCHAR* pName;
1078   XFA_ATTRIBUTE_CALLBACK lpfnCallback;
1079   int32_t eAttribute;
1080   uint16_t eValueType;
1081 };
1082 const XFA_SCRIPTATTRIBUTEINFO* XFA_GetScriptAttributeByName(
1083     XFA_Element eElement,
1084     const CFX_WideStringC& wsAttributeName);
1085 
1086 #endif  // XFA_FXFA_INCLUDE_FXFA_BASIC_H_
1087