diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2015-10-21 15:46:10 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2015-10-21 15:46:10 -0400 |
commit | 710c909117da4297e5a9508bedb306fc5c49eb36 (patch) | |
tree | 53c9bf4471ebe72977773ec8151b4ae44c3975bb /core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp | |
parent | 316eb864137a0b8eeb0d0d4d698ba83f4946a89c (diff) | |
download | pdfium-710c909117da4297e5a9508bedb306fc5c49eb36.tar.xz |
Merge to XFA: Add type cast definitions for CPDF_Name.
This Cl adds ToName, CPDF_Object::AsName and CPDF_Object::IsName and
updates the src to use them as needed.
BUG=pdfium:201
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1417823005 .
(cherry picked from commit 1c77edb7b34e03787605b7965784cea38ef9f1d7)
Review URL: https://codereview.chromium.org/1417033004 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp')
-rw-r--r-- | core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp index 584f9c24d3..73b1091856 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp @@ -1057,9 +1057,9 @@ FX_BOOL CPDF_SeparationCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray) { return FALSE; } CPDF_Object* pFuncObj = pArray->GetElementValue(3); - if (pFuncObj && pFuncObj->GetType() != PDFOBJ_NAME) { + if (pFuncObj && !pFuncObj->IsName()) m_pFunc = CPDF_Function::Load(pFuncObj); - } + if (m_pFunc && m_pFunc->CountOutputs() < m_pAltCS->CountComponents()) { delete m_pFunc; m_pFunc = NULL; @@ -1202,30 +1202,27 @@ CPDF_ColorSpace* _CSFromName(const CFX_ByteString& name) { return NULL; } CPDF_ColorSpace* CPDF_ColorSpace::Load(CPDF_Document* pDoc, CPDF_Object* pObj) { - if (pObj == NULL) { - return NULL; - } - if (pObj->GetType() == PDFOBJ_NAME) { + if (!pObj) + return nullptr; + if (pObj->IsName()) return _CSFromName(pObj->GetString()); - } + if (pObj->GetType() == PDFOBJ_STREAM) { CPDF_Dictionary* pDict = ((CPDF_Stream*)pObj)->GetDict(); - if (!pDict) { - return NULL; - } - CPDF_ColorSpace* pRet = NULL; + if (!pDict) + return nullptr; + + CPDF_ColorSpace* pRet = nullptr; FX_POSITION pos = pDict->GetStartPos(); while (pos) { CFX_ByteString bsKey; CPDF_Object* pValue = pDict->GetNextElement(pos, bsKey); - if (pValue && pValue->GetType() == PDFOBJ_NAME) { + if (ToName(pValue)) pRet = _CSFromName(pValue->GetString()); - } - if (pRet) { + if (pRet) return pRet; - } } - return NULL; + return nullptr; } if (pObj->GetType() != PDFOBJ_ARRAY) { return NULL; |