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_strokedata.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_strokedata.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_strokedata.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/xfa/fxfa/parser/cxfa_strokedata.cpp b/xfa/fxfa/parser/cxfa_strokedata.cpp index 0845719c9e..061b89e8ef 100644 --- a/xfa/fxfa/parser/cxfa_strokedata.cpp +++ b/xfa/fxfa/parser/cxfa_strokedata.cpp @@ -11,9 +11,13 @@ #include "xfa/fxfa/parser/xfa_utils.h" bool CXFA_StrokeData::IsVisible() const { - return m_pNode ? m_pNode->JSNode()->GetEnum(XFA_Attribute::Presence) == - XFA_ATTRIBUTEENUM_Visible - : false; + if (!m_pNode) + return false; + + XFA_ATTRIBUTEENUM presence = m_pNode->JSNode() + ->TryEnum(XFA_Attribute::Presence, true) + .value_or(XFA_ATTRIBUTEENUM_Visible); + return presence == XFA_ATTRIBUTEENUM_Visible; } XFA_ATTRIBUTEENUM CXFA_StrokeData::GetCapType() const { @@ -83,7 +87,8 @@ bool CXFA_StrokeData::IsInverted() const { float CXFA_StrokeData::GetRadius() const { return m_pNode ? m_pNode->JSNode() - ->GetMeasure(XFA_Attribute::Radius) + ->TryMeasure(XFA_Attribute::Radius, true) + .value_or(CXFA_Measurement(0, XFA_Unit::In)) .ToUnit(XFA_Unit::Pt) : 0; } |