diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-12-14 20:43:53 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-12-14 20:43:53 +0000 |
commit | 51ef4a6ca3b4ae9b618cb1c96f84697a2bf4a2b1 (patch) | |
tree | a365a0c3f25fff2f6511fbc23fd0e4d6b8d4eada /xfa/fxfa/parser/cxfa_filldata.cpp | |
parent | 8489e901fb16fe508e23a36cd3eff93d8332c2a2 (diff) | |
download | pdfium-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.cpp | 18 |
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) |