diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-11-30 20:21:00 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-30 20:21:00 +0000 |
commit | 5fda35f2b0a658e310f778c2dc40ef24e6d05975 (patch) | |
tree | 3daddbde21cef2a9aa3aa2827a1c34ef06ad6a85 /xfa/fxfa/parser/cxfa_subform.cpp | |
parent | 0be087619a60b8bc6e2ed2e14c54f67aa8e963e4 (diff) | |
download | pdfium-5fda35f2b0a658e310f778c2dc40ef24e6d05975.tar.xz |
Generate XFA node attribute information
This CL moves the attribute information out of the xfa basic data array
and stores in the generated nodes.
Change-Id: Id8e280324bf0f75a1da9c937c2734d161324242d
Reviewed-on: https://pdfium-review.googlesource.com/19271
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_subform.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_subform.cpp | 100 |
1 files changed, 73 insertions, 27 deletions
diff --git a/xfa/fxfa/parser/cxfa_subform.cpp b/xfa/fxfa/parser/cxfa_subform.cpp index e297437d99..1e62f17764 100644 --- a/xfa/fxfa/parser/cxfa_subform.cpp +++ b/xfa/fxfa/parser/cxfa_subform.cpp @@ -18,33 +18,79 @@ const CXFA_Node::PropertyData kPropertyData[] = { {XFA_Element::Bookend, 1, 0}, {XFA_Element::Calculate, 1, 0}, {XFA_Element::Extras, 1, 0}, {XFA_Element::Variables, 1, 0}, {XFA_Element::Occur, 1, 0}, {XFA_Element::Unknown, 0, 0}}; -const XFA_Attribute kAttributeData[] = {XFA_Attribute::H, - XFA_Attribute::W, - XFA_Attribute::X, - XFA_Attribute::Y, - XFA_Attribute::Id, - XFA_Attribute::HAlign, - XFA_Attribute::Name, - XFA_Attribute::Use, - XFA_Attribute::AllowMacro, - XFA_Attribute::ColumnWidths, - XFA_Attribute::Access, - XFA_Attribute::Presence, - XFA_Attribute::VAlign, - XFA_Attribute::MaxH, - XFA_Attribute::MaxW, - XFA_Attribute::MinH, - XFA_Attribute::MinW, - XFA_Attribute::Layout, - XFA_Attribute::Relevant, - XFA_Attribute::MergeMode, - XFA_Attribute::ColSpan, - XFA_Attribute::Usehref, - XFA_Attribute::Locale, - XFA_Attribute::AnchorType, - XFA_Attribute::RestoreState, - XFA_Attribute::Scope, - XFA_Attribute::Unknown}; +const CXFA_Node::AttributeData kAttributeData[] = { + {XFA_Attribute::H, XFA_AttributeType::Measure, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"}, + {XFA_Attribute::W, XFA_AttributeType::Measure, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"}, + {XFA_Attribute::X, XFA_AttributeType::Measure, + XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)L"0in"}, + {XFA_Attribute::Y, XFA_AttributeType::Measure, + XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)L"0in"}, + {XFA_Attribute::Id, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::HAlign, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Left}, + {XFA_Attribute::Name, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Config | XFA_XDPPACKET_LocaleSet | + XFA_XDPPACKET_Template | XFA_XDPPACKET_Datasets | XFA_XDPPACKET_Form | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::Use, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::AllowMacro, XFA_AttributeType::Boolean, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0}, + {XFA_Attribute::ColumnWidths, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::Access, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Open}, + {XFA_Attribute::Presence, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Visible}, + {XFA_Attribute::VAlign, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)XFA_ATTRIBUTEENUM_Top}, + {XFA_Attribute::MaxH, XFA_AttributeType::Measure, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"}, + {XFA_Attribute::MaxW, XFA_AttributeType::Measure, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"}, + {XFA_Attribute::MinH, XFA_AttributeType::Measure, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"}, + {XFA_Attribute::MinW, XFA_AttributeType::Measure, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"}, + {XFA_Attribute::Layout, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Position}, + {XFA_Attribute::Relevant, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::MergeMode, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_ConsumeData}, + {XFA_Attribute::ColSpan, XFA_AttributeType::Integer, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)1}, + {XFA_Attribute::Usehref, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::Locale, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::AnchorType, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_TopLeft}, + {XFA_Attribute::RestoreState, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Manual}, + {XFA_Attribute::Scope, XFA_AttributeType::Enum, + XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Name}, + {XFA_Attribute::Unknown, XFA_AttributeType::Integer, 0, nullptr}}; constexpr wchar_t kName[] = L"subform"; |