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.cpp158
1 files changed, 0 insertions, 158 deletions
diff --git a/xfa/fxfa/parser/cxfa_boxdata.cpp b/xfa/fxfa/parser/cxfa_boxdata.cpp
deleted file mode 100644
index 31fefbf93d..0000000000
--- a/xfa/fxfa/parser/cxfa_boxdata.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "xfa/fxfa/parser/cxfa_boxdata.h"
-
-#include "xfa/fxfa/parser/cxfa_corner.h"
-#include "xfa/fxfa/parser/cxfa_cornerdata.h"
-#include "xfa/fxfa/parser/cxfa_edge.h"
-#include "xfa/fxfa/parser/cxfa_fill.h"
-#include "xfa/fxfa/parser/cxfa_margin.h"
-#include "xfa/fxfa/parser/cxfa_measurement.h"
-#include "xfa/fxfa/parser/cxfa_node.h"
-
-namespace {
-
-std::vector<CXFA_StrokeData> GetStrokesInternal(CXFA_Node* pNode, bool bNull) {
- if (!pNode)
- return {};
-
- std::vector<CXFA_StrokeData> strokes;
- strokes.resize(8);
- int32_t i, j;
- for (i = 0, j = 0; i < 4; i++) {
- CXFA_CornerData cornerData =
- CXFA_CornerData(pNode->JSObject()->GetProperty<CXFA_Corner>(
- i, XFA_Element::Corner, i == 0));
- if (cornerData.HasValidNode() || i == 0) {
- strokes[j] = cornerData;
- } else if (!bNull) {
- if (i == 1 || i == 2)
- strokes[j] = strokes[0];
- else
- strokes[j] = strokes[2];
- }
- j++;
- CXFA_EdgeData edgeData =
- CXFA_EdgeData(pNode->JSObject()->GetProperty<CXFA_Edge>(
- i, XFA_Element::Edge, i == 0));
- if (edgeData.HasValidNode() || i == 0) {
- strokes[j] = edgeData;
- } else if (!bNull) {
- if (i == 1 || i == 2)
- strokes[j] = strokes[1];
- else
- strokes[j] = strokes[3];
- }
- j++;
- }
- return strokes;
-}
-
-static XFA_AttributeEnum Style3D(const std::vector<CXFA_StrokeData>& strokes,
- CXFA_StrokeData& strokeData) {
- if (strokes.empty())
- return XFA_AttributeEnum::Unknown;
-
- strokeData = strokes[0];
- for (size_t i = 1; i < strokes.size(); i++) {
- CXFA_StrokeData find = strokes[i];
- if (!find.HasValidNode())
- continue;
-
- if (!strokeData.HasValidNode())
- strokeData = find;
- else if (strokeData.GetStrokeType() != find.GetStrokeType())
- strokeData = find;
- break;
- }
-
- XFA_AttributeEnum iType = strokeData.GetStrokeType();
- if (iType == XFA_AttributeEnum::Lowered ||
- iType == XFA_AttributeEnum::Raised ||
- iType == XFA_AttributeEnum::Etched ||
- iType == XFA_AttributeEnum::Embossed) {
- return iType;
- }
- return XFA_AttributeEnum::Unknown;
-}
-
-} // namespace
-
-XFA_AttributeEnum CXFA_BoxData::GetHand() const {
- if (!m_pNode)
- return XFA_AttributeEnum::Even;
- return m_pNode->JSObject()->GetEnum(XFA_Attribute::Hand);
-}
-
-XFA_AttributeEnum CXFA_BoxData::GetPresence() const {
- if (!m_pNode)
- return XFA_AttributeEnum::Hidden;
- return m_pNode->JSObject()
- ->TryEnum(XFA_Attribute::Presence, true)
- .value_or(XFA_AttributeEnum::Visible);
-}
-
-int32_t CXFA_BoxData::CountEdges() const {
- if (!m_pNode)
- return 0;
- return m_pNode->CountChildren(XFA_Element::Edge, false);
-}
-
-CXFA_EdgeData CXFA_BoxData::GetEdgeData(int32_t nIndex) const {
- return CXFA_EdgeData(m_pNode ? m_pNode->JSObject()->GetProperty<CXFA_Edge>(
- nIndex, XFA_Element::Edge, nIndex == 0)
- : nullptr);
-}
-
-std::vector<CXFA_StrokeData> CXFA_BoxData::GetStrokes() const {
- return GetStrokesInternal(m_pNode, false);
-}
-
-bool CXFA_BoxData::IsCircular() const {
- if (!m_pNode)
- return false;
- return m_pNode->JSObject()->GetBoolean(XFA_Attribute::Circular);
-}
-
-pdfium::Optional<int32_t> CXFA_BoxData::GetStartAngle() const {
- if (!m_pNode)
- return {};
- return m_pNode->JSObject()->TryInteger(XFA_Attribute::StartAngle, false);
-}
-
-pdfium::Optional<int32_t> CXFA_BoxData::GetSweepAngle() const {
- if (!m_pNode)
- return {};
- return m_pNode->JSObject()->TryInteger(XFA_Attribute::SweepAngle, false);
-}
-
-CXFA_FillData CXFA_BoxData::GetFillData(bool bModified) const {
- if (!m_pNode)
- return CXFA_FillData(nullptr);
-
- CXFA_Node* pFillNode = m_pNode->JSObject()->GetProperty<CXFA_Fill>(
- 0, XFA_Element::Fill, bModified);
- return CXFA_FillData(pFillNode);
-}
-
-CXFA_Margin* CXFA_BoxData::GetMargin() const {
- return m_pNode ? m_pNode->GetChild<CXFA_Margin>(0, XFA_Element::Margin, false)
- : nullptr;
-}
-
-std::tuple<XFA_AttributeEnum, bool, float> CXFA_BoxData::Get3DStyle() const {
- if (IsArc())
- return {XFA_AttributeEnum::Unknown, false, 0.0f};
-
- std::vector<CXFA_StrokeData> strokes = GetStrokesInternal(m_pNode, true);
- CXFA_StrokeData strokeData(nullptr);
- XFA_AttributeEnum iType = Style3D(strokes, strokeData);
- if (iType == XFA_AttributeEnum::Unknown)
- return {XFA_AttributeEnum::Unknown, false, 0.0f};
-
- return {iType, strokeData.IsVisible(), strokeData.GetThickness()};
-}