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