summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_filldata.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-12-14 20:43:53 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-12-14 20:43:53 +0000
commit51ef4a6ca3b4ae9b618cb1c96f84697a2bf4a2b1 (patch)
treea365a0c3f25fff2f6511fbc23fd0e4d6b8d4eada /xfa/fxfa/parser/cxfa_filldata.cpp
parent8489e901fb16fe508e23a36cd3eff93d8332c2a2 (diff)
downloadpdfium-51ef4a6ca3b4ae9b618cb1c96f84697a2bf4a2b1.tar.xz
Change CXFA_Node::GetChild to return proper types
Currently CXFA_Node::GetChild always returns a CXFA_Node* object. We know the type we want when we call GetChild, so this CL changes the code to add a template parameter to GetChild and return the correct CXFA_Node subtype for the desired element. Change-Id: I5aecf2e840504235dc246483abee48e0564841fe Reviewed-on: https://pdfium-review.googlesource.com/21210 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_filldata.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_filldata.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/xfa/fxfa/parser/cxfa_filldata.cpp b/xfa/fxfa/parser/cxfa_filldata.cpp
index 2ea7652784..98df0aa3a4 100644
--- a/xfa/fxfa/parser/cxfa_filldata.cpp
+++ b/xfa/fxfa/parser/cxfa_filldata.cpp
@@ -6,6 +6,7 @@
#include "xfa/fxfa/parser/cxfa_filldata.h"
+#include "xfa/fxfa/parser/cxfa_color.h"
#include "xfa/fxfa/parser/cxfa_node.h"
CXFA_FillData::CXFA_FillData(CXFA_Node* pNode) : CXFA_DataData(pNode) {}
@@ -33,7 +34,8 @@ void CXFA_FillData::SetColor(FX_ARGB color) {
}
FX_ARGB CXFA_FillData::GetColor(bool bText) const {
- if (CXFA_Node* pNode = m_pNode->GetChild(0, XFA_Element::Color, false)) {
+ if (CXFA_Color* pNode =
+ m_pNode->GetChild<CXFA_Color>(0, XFA_Element::Color, false)) {
pdfium::Optional<WideString> wsColor =
pNode->JSObject()->TryCData(XFA_Attribute::Value, false);
if (wsColor)
@@ -61,8 +63,8 @@ XFA_AttributeEnum CXFA_FillData::GetPatternType() const {
}
FX_ARGB CXFA_FillData::GetPatternColor() const {
- if (CXFA_Node* pColor =
- GetPattern()->GetChild(0, XFA_Element::Color, false)) {
+ if (CXFA_Color* pColor =
+ GetPattern()->GetChild<CXFA_Color>(0, XFA_Element::Color, false)) {
pdfium::Optional<WideString> wsColor =
pColor->JSObject()->TryCData(XFA_Attribute::Value, false);
if (wsColor)
@@ -79,8 +81,8 @@ int32_t CXFA_FillData::GetStippleRate() const {
}
FX_ARGB CXFA_FillData::GetStippleColor() const {
- if (CXFA_Node* pColor =
- GetStipple()->GetChild(0, XFA_Element::Color, false)) {
+ if (CXFA_Color* pColor =
+ GetStipple()->GetChild<CXFA_Color>(0, XFA_Element::Color, false)) {
pdfium::Optional<WideString> wsColor =
pColor->JSObject()->TryCData(XFA_Attribute::Value, false);
if (wsColor)
@@ -97,7 +99,8 @@ XFA_AttributeEnum CXFA_FillData::GetLinearType() const {
}
FX_ARGB CXFA_FillData::GetLinearColor() const {
- if (CXFA_Node* pColor = GetLinear()->GetChild(0, XFA_Element::Color, false)) {
+ if (CXFA_Color* pColor =
+ GetLinear()->GetChild<CXFA_Color>(0, XFA_Element::Color, false)) {
pdfium::Optional<WideString> wsColor =
pColor->JSObject()->TryCData(XFA_Attribute::Value, false);
if (wsColor)
@@ -114,7 +117,8 @@ bool CXFA_FillData::IsRadialToEdge() const {
}
FX_ARGB CXFA_FillData::GetRadialColor() const {
- if (CXFA_Node* pColor = GetRadial()->GetChild(0, XFA_Element::Color, false)) {
+ if (CXFA_Color* pColor =
+ GetRadial()->GetChild<CXFA_Color>(0, XFA_Element::Color, false)) {
pdfium::Optional<WideString> wsColor =
pColor->JSObject()->TryCData(XFA_Attribute::Value, false);
if (wsColor)