summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_strokedata.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_strokedata.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_strokedata.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_strokedata.cpp13
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;
}