summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_field.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-11-30 20:21:00 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-30 20:21:00 +0000
commit5fda35f2b0a658e310f778c2dc40ef24e6d05975 (patch)
tree3daddbde21cef2a9aa3aa2827a1c34ef06ad6a85 /xfa/fxfa/parser/cxfa_field.cpp
parent0be087619a60b8bc6e2ed2e14c54f67aa8e963e4 (diff)
downloadpdfium-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_field.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_field.cpp74
1 files changed, 61 insertions, 13 deletions
diff --git a/xfa/fxfa/parser/cxfa_field.cpp b/xfa/fxfa/parser/cxfa_field.cpp
index ec4e4293a6..d928b9a3bb 100644
--- a/xfa/fxfa/parser/cxfa_field.cpp
+++ b/xfa/fxfa/parser/cxfa_field.cpp
@@ -18,19 +18,67 @@ const CXFA_Node::PropertyData kPropertyData[] = {
{XFA_Element::Font, 1, 0}, {XFA_Element::Value, 1, 0},
{XFA_Element::Calculate, 1, 0}, {XFA_Element::Extras, 1, 0},
{XFA_Element::Items, 2, 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::Access, XFA_Attribute::Rotate,
- XFA_Attribute::Presence, XFA_Attribute::VAlign,
- XFA_Attribute::MaxH, XFA_Attribute::MaxW,
- XFA_Attribute::MinH, XFA_Attribute::MinW,
- XFA_Attribute::Relevant, XFA_Attribute::ColSpan,
- XFA_Attribute::Usehref, XFA_Attribute::Locale,
- XFA_Attribute::AnchorType, XFA_Attribute::AccessKey,
- 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::Access, XFA_AttributeType::Enum,
+ XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
+ (void*)XFA_ATTRIBUTEENUM_Open},
+ {XFA_Attribute::Rotate, XFA_AttributeType::Integer,
+ XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0},
+ {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::Relevant, XFA_AttributeType::CData,
+ XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
+ {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::AccessKey, XFA_AttributeType::CData,
+ XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
+ {XFA_Attribute::Unknown, XFA_AttributeType::Integer, 0, nullptr}};
constexpr wchar_t kName[] = L"field";