summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_boxdata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser/cxfa_boxdata.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_boxdata.cpp35
1 files changed, 14 insertions, 21 deletions
diff --git a/xfa/fxfa/parser/cxfa_boxdata.cpp b/xfa/fxfa/parser/cxfa_boxdata.cpp
index 813a0a6229..5545494aac 100644
--- a/xfa/fxfa/parser/cxfa_boxdata.cpp
+++ b/xfa/fxfa/parser/cxfa_boxdata.cpp
@@ -108,32 +108,26 @@ bool CXFA_BoxData::IsCircular() const {
return m_pNode->JSNode()->GetBoolean(XFA_Attribute::Circular);
}
-bool CXFA_BoxData::GetStartAngle(float& fStartAngle) const {
- fStartAngle = 0;
+pdfium::Optional<float> CXFA_BoxData::GetStartAngle() const {
if (!m_pNode)
- return false;
+ return {};
pdfium::Optional<CXFA_Measurement> measure =
m_pNode->JSNode()->TryMeasure(XFA_Attribute::StartAngle, false);
if (!measure)
- return false;
-
- fStartAngle = measure->GetValue();
- return true;
+ return {};
+ return {measure->GetValue()};
}
-bool CXFA_BoxData::GetSweepAngle(float& fSweepAngle) const {
- fSweepAngle = 360;
+pdfium::Optional<float> CXFA_BoxData::GetSweepAngle() const {
if (!m_pNode)
- return false;
+ return {};
pdfium::Optional<CXFA_Measurement> measure =
m_pNode->JSNode()->TryMeasure(XFA_Attribute::SweepAngle, false);
if (!measure)
- return false;
-
- fSweepAngle = measure->GetValue();
- return true;
+ return {};
+ return {measure->GetValue()};
}
CXFA_FillData CXFA_BoxData::GetFillData(bool bModified) const {
@@ -150,16 +144,15 @@ CXFA_MarginData CXFA_BoxData::GetMarginData() const {
m_pNode ? m_pNode->GetChild(0, XFA_Element::Margin, false) : nullptr);
}
-int32_t CXFA_BoxData::Get3DStyle(bool& bVisible, float& fThickness) const {
+std::tuple<int32_t, bool, float> CXFA_BoxData::Get3DStyle() const {
if (IsArc())
- return 0;
+ return {0, false, 0.0f};
std::vector<CXFA_StrokeData> strokes = GetStrokesInternal(m_pNode, true);
CXFA_StrokeData strokeData(nullptr);
int32_t iType = Style3D(strokes, strokeData);
- if (iType) {
- bVisible = strokeData.IsVisible();
- fThickness = strokeData.GetThickness();
- }
- return iType;
+ if (iType == 0)
+ return {0, false, 0.0f};
+
+ return {iType, strokeData.IsVisible(), strokeData.GetThickness()};
}