Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(436)

Side by Side Diff: core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp

Issue 1417033004: Merge to XFA: Add type cast definitions for CPDF_Name. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "../../../include/fpdfapi/fpdf_page.h" 7 #include "../../../include/fpdfapi/fpdf_page.h"
8 #include "../../../include/fpdfapi/fpdf_module.h" 8 #include "../../../include/fpdfapi/fpdf_module.h"
9 #include "../../../include/fxcodec/fx_codec.h" 9 #include "../../../include/fxcodec/fx_codec.h"
10 #include "pageint.h" 10 #include "pageint.h"
(...skipping 1039 matching lines...) Expand 10 before | Expand all | Expand 10 after
1050 m_Type = Colorant; 1050 m_Type = Colorant;
1051 CPDF_Object* pAltCS = pArray->GetElementValue(2); 1051 CPDF_Object* pAltCS = pArray->GetElementValue(2);
1052 if (pAltCS == m_pArray) { 1052 if (pAltCS == m_pArray) {
1053 return FALSE; 1053 return FALSE;
1054 } 1054 }
1055 m_pAltCS = Load(pDoc, pAltCS); 1055 m_pAltCS = Load(pDoc, pAltCS);
1056 if (!m_pAltCS) { 1056 if (!m_pAltCS) {
1057 return FALSE; 1057 return FALSE;
1058 } 1058 }
1059 CPDF_Object* pFuncObj = pArray->GetElementValue(3); 1059 CPDF_Object* pFuncObj = pArray->GetElementValue(3);
1060 if (pFuncObj && pFuncObj->GetType() != PDFOBJ_NAME) { 1060 if (pFuncObj && !pFuncObj->IsName())
1061 m_pFunc = CPDF_Function::Load(pFuncObj); 1061 m_pFunc = CPDF_Function::Load(pFuncObj);
1062 } 1062
1063 if (m_pFunc && m_pFunc->CountOutputs() < m_pAltCS->CountComponents()) { 1063 if (m_pFunc && m_pFunc->CountOutputs() < m_pAltCS->CountComponents()) {
1064 delete m_pFunc; 1064 delete m_pFunc;
1065 m_pFunc = NULL; 1065 m_pFunc = NULL;
1066 } 1066 }
1067 } 1067 }
1068 return TRUE; 1068 return TRUE;
1069 } 1069 }
1070 FX_BOOL CPDF_SeparationCS::GetRGB(FX_FLOAT* pBuf, 1070 FX_BOOL CPDF_SeparationCS::GetRGB(FX_FLOAT* pBuf,
1071 FX_FLOAT& R, 1071 FX_FLOAT& R,
1072 FX_FLOAT& G, 1072 FX_FLOAT& G,
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1195 } 1195 }
1196 if (name == FX_BSTRC("DeviceCMYK") || name == FX_BSTRC("CMYK")) { 1196 if (name == FX_BSTRC("DeviceCMYK") || name == FX_BSTRC("CMYK")) {
1197 return CPDF_ColorSpace::GetStockCS(PDFCS_DEVICECMYK); 1197 return CPDF_ColorSpace::GetStockCS(PDFCS_DEVICECMYK);
1198 } 1198 }
1199 if (name == FX_BSTRC("Pattern")) { 1199 if (name == FX_BSTRC("Pattern")) {
1200 return CPDF_ColorSpace::GetStockCS(PDFCS_PATTERN); 1200 return CPDF_ColorSpace::GetStockCS(PDFCS_PATTERN);
1201 } 1201 }
1202 return NULL; 1202 return NULL;
1203 } 1203 }
1204 CPDF_ColorSpace* CPDF_ColorSpace::Load(CPDF_Document* pDoc, CPDF_Object* pObj) { 1204 CPDF_ColorSpace* CPDF_ColorSpace::Load(CPDF_Document* pDoc, CPDF_Object* pObj) {
1205 if (pObj == NULL) { 1205 if (!pObj)
1206 return NULL; 1206 return nullptr;
1207 } 1207 if (pObj->IsName())
1208 if (pObj->GetType() == PDFOBJ_NAME) {
1209 return _CSFromName(pObj->GetString()); 1208 return _CSFromName(pObj->GetString());
1210 } 1209
1211 if (pObj->GetType() == PDFOBJ_STREAM) { 1210 if (pObj->GetType() == PDFOBJ_STREAM) {
1212 CPDF_Dictionary* pDict = ((CPDF_Stream*)pObj)->GetDict(); 1211 CPDF_Dictionary* pDict = ((CPDF_Stream*)pObj)->GetDict();
1213 if (!pDict) { 1212 if (!pDict)
1214 return NULL; 1213 return nullptr;
1215 } 1214
1216 CPDF_ColorSpace* pRet = NULL; 1215 CPDF_ColorSpace* pRet = nullptr;
1217 FX_POSITION pos = pDict->GetStartPos(); 1216 FX_POSITION pos = pDict->GetStartPos();
1218 while (pos) { 1217 while (pos) {
1219 CFX_ByteString bsKey; 1218 CFX_ByteString bsKey;
1220 CPDF_Object* pValue = pDict->GetNextElement(pos, bsKey); 1219 CPDF_Object* pValue = pDict->GetNextElement(pos, bsKey);
1221 if (pValue && pValue->GetType() == PDFOBJ_NAME) { 1220 if (ToName(pValue))
1222 pRet = _CSFromName(pValue->GetString()); 1221 pRet = _CSFromName(pValue->GetString());
1223 } 1222 if (pRet)
1224 if (pRet) {
1225 return pRet; 1223 return pRet;
1226 }
1227 } 1224 }
1228 return NULL; 1225 return nullptr;
1229 } 1226 }
1230 if (pObj->GetType() != PDFOBJ_ARRAY) { 1227 if (pObj->GetType() != PDFOBJ_ARRAY) {
1231 return NULL; 1228 return NULL;
1232 } 1229 }
1233 CPDF_Array* pArray = (CPDF_Array*)pObj; 1230 CPDF_Array* pArray = (CPDF_Array*)pObj;
1234 if (pArray->GetCount() == 0) { 1231 if (pArray->GetCount() == 0) {
1235 return NULL; 1232 return NULL;
1236 } 1233 }
1237 CPDF_Object* pFamilyObj = pArray->GetElementValue(0); 1234 CPDF_Object* pFamilyObj = pArray->GetElementValue(0);
1238 if (!pFamilyObj) { 1235 if (!pFamilyObj) {
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
1533 } 1530 }
1534 PatternValue* pvalue = (PatternValue*)m_pBuffer; 1531 PatternValue* pvalue = (PatternValue*)m_pBuffer;
1535 return pvalue->m_nComps ? pvalue->m_Comps : NULL; 1532 return pvalue->m_nComps ? pvalue->m_Comps : NULL;
1536 } 1533 }
1537 FX_BOOL CPDF_Color::IsEqual(const CPDF_Color& other) const { 1534 FX_BOOL CPDF_Color::IsEqual(const CPDF_Color& other) const {
1538 if (m_pCS != other.m_pCS || m_pCS == NULL) { 1535 if (m_pCS != other.m_pCS || m_pCS == NULL) {
1539 return FALSE; 1536 return FALSE;
1540 } 1537 }
1541 return FXSYS_memcmp(m_pBuffer, other.m_pBuffer, m_pCS->GetBufSize()) == 0; 1538 return FXSYS_memcmp(m_pBuffer, other.m_pBuffer, m_pCS->GetBufSize()) == 0;
1542 } 1539 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698