| OLD | NEW | 
|     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/fpdfapi/fpdf_serial.h" |     9 #include "../../../include/fpdfapi/fpdf_serial.h" | 
|    10 #include "pageint.h" |    10 #include "pageint.h" | 
| (...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   709         } |   709         } | 
|   710       } |   710       } | 
|   711     } |   711     } | 
|   712     FX_BOOL bForm; |   712     FX_BOOL bForm; | 
|   713     if (m_pDocument->IsFormStream(((CPDF_Reference*)pRes)->GetRefObjNum(), |   713     if (m_pDocument->IsFormStream(((CPDF_Reference*)pRes)->GetRefObjNum(), | 
|   714                                   bForm) && |   714                                   bForm) && | 
|   715         !bForm) { |   715         !bForm) { | 
|   716       return; |   716       return; | 
|   717     } |   717     } | 
|   718   } |   718   } | 
|   719   CPDF_Stream* pXObject = |   719   CPDF_Stream* pXObject = ToStream(FindResourceObj(FX_BSTRC("XObject"), name)); | 
|   720       (CPDF_Stream*)FindResourceObj(FX_BSTRC("XObject"), name); |   720   if (!pXObject) { | 
|   721   if (pXObject == NULL || pXObject->GetType() != PDFOBJ_STREAM) { |  | 
|   722     m_bResourceMissing = TRUE; |   721     m_bResourceMissing = TRUE; | 
|   723     return; |   722     return; | 
|   724   } |   723   } | 
 |   724  | 
|   725   CFX_ByteStringC type = |   725   CFX_ByteStringC type = | 
|   726       pXObject->GetDict() |   726       pXObject->GetDict() | 
|   727           ? pXObject->GetDict()->GetConstString(FX_BSTRC("Subtype")) |   727           ? pXObject->GetDict()->GetConstString(FX_BSTRC("Subtype")) | 
|   728           : CFX_ByteStringC(); |   728           : CFX_ByteStringC(); | 
|   729   if (type == FX_BSTRC("Image")) { |   729   if (type == FX_BSTRC("Image")) { | 
|   730     if (m_Options.m_bTextOnly) { |   730     if (m_Options.m_bTextOnly) { | 
|   731       return; |   731       return; | 
|   732     } |   732     } | 
|   733     CPDF_ImageObject* pObj = AddImage(pXObject, NULL, FALSE); |   733     CPDF_ImageObject* pObj = AddImage(pXObject, NULL, FALSE); | 
|   734     m_LastImageName = name; |   734     m_LastImageName = name; | 
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1144   SetGraphicStates(pObj, FALSE, FALSE, FALSE); |  1144   SetGraphicStates(pObj, FALSE, FALSE, FALSE); | 
|  1145   pObj->m_Matrix = m_pCurStates->m_CTM; |  1145   pObj->m_Matrix = m_pCurStates->m_CTM; | 
|  1146   pObj->m_Matrix.Concat(m_mtContentToUser); |  1146   pObj->m_Matrix.Concat(m_mtContentToUser); | 
|  1147   CFX_FloatRect bbox; |  1147   CFX_FloatRect bbox; | 
|  1148   if (!pObj->m_ClipPath.IsNull()) { |  1148   if (!pObj->m_ClipPath.IsNull()) { | 
|  1149     bbox = pObj->m_ClipPath.GetClipBox(); |  1149     bbox = pObj->m_ClipPath.GetClipBox(); | 
|  1150   } else { |  1150   } else { | 
|  1151     bbox = m_BBox; |  1151     bbox = m_BBox; | 
|  1152   } |  1152   } | 
|  1153   if (pShading->m_ShadingType >= 4) { |  1153   if (pShading->m_ShadingType >= 4) { | 
|  1154     bbox.Intersect(_GetShadingBBox((CPDF_Stream*)pShading->m_pShadingObj, |  1154     bbox.Intersect(_GetShadingBBox(ToStream(pShading->m_pShadingObj), | 
|  1155                                    pShading->m_ShadingType, &pObj->m_Matrix, |  1155                                    pShading->m_ShadingType, &pObj->m_Matrix, | 
|  1156                                    pShading->m_pFunctions, pShading->m_nFuncs, |  1156                                    pShading->m_pFunctions, pShading->m_nFuncs, | 
|  1157                                    pShading->m_pCS)); |  1157                                    pShading->m_pCS)); | 
|  1158   } |  1158   } | 
|  1159   pObj->m_Left = bbox.left; |  1159   pObj->m_Left = bbox.left; | 
|  1160   pObj->m_Right = bbox.right; |  1160   pObj->m_Right = bbox.right; | 
|  1161   pObj->m_Top = bbox.top; |  1161   pObj->m_Top = bbox.top; | 
|  1162   pObj->m_Bottom = bbox.bottom; |  1162   pObj->m_Bottom = bbox.bottom; | 
|  1163   m_pObjectList->m_ObjectList.AddTail(pObj); |  1163   m_pObjectList->m_ObjectList.AddTail(pObj); | 
|  1164 } |  1164 } | 
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1255   if (pCSObj == NULL) { |  1255   if (pCSObj == NULL) { | 
|  1256     m_bResourceMissing = TRUE; |  1256     m_bResourceMissing = TRUE; | 
|  1257     return NULL; |  1257     return NULL; | 
|  1258   } |  1258   } | 
|  1259   return m_pDocument->LoadColorSpace(pCSObj); |  1259   return m_pDocument->LoadColorSpace(pCSObj); | 
|  1260 } |  1260 } | 
|  1261 CPDF_Pattern* CPDF_StreamContentParser::FindPattern(const CFX_ByteString& name, |  1261 CPDF_Pattern* CPDF_StreamContentParser::FindPattern(const CFX_ByteString& name, | 
|  1262                                                     FX_BOOL bShading) { |  1262                                                     FX_BOOL bShading) { | 
|  1263   CPDF_Object* pPattern = FindResourceObj( |  1263   CPDF_Object* pPattern = FindResourceObj( | 
|  1264       bShading ? FX_BSTRC("Shading") : FX_BSTRC("Pattern"), name); |  1264       bShading ? FX_BSTRC("Shading") : FX_BSTRC("Pattern"), name); | 
|  1265   if (pPattern == NULL || |  1265   if (!pPattern || (!pPattern->IsDictionary() && !pPattern->IsStream())) { | 
|  1266       (!pPattern->IsDictionary() && pPattern->GetType() != PDFOBJ_STREAM)) { |  | 
|  1267     m_bResourceMissing = TRUE; |  1266     m_bResourceMissing = TRUE; | 
|  1268     return NULL; |  1267     return NULL; | 
|  1269   } |  1268   } | 
|  1270   return m_pDocument->LoadPattern(pPattern, bShading, |  1269   return m_pDocument->LoadPattern(pPattern, bShading, | 
|  1271                                   &m_pCurStates->m_ParentMatrix); |  1270                                   &m_pCurStates->m_ParentMatrix); | 
|  1272 } |  1271 } | 
|  1273 void CPDF_StreamContentParser::ConvertTextSpace(FX_FLOAT& x, FX_FLOAT& y) { |  1272 void CPDF_StreamContentParser::ConvertTextSpace(FX_FLOAT& x, FX_FLOAT& y) { | 
|  1274   m_pCurStates->m_TextMatrix.Transform(x, y, x, y); |  1273   m_pCurStates->m_TextMatrix.Transform(x, y, x, y); | 
|  1275   ConvertUserSpace(x, y); |  1274   ConvertUserSpace(x, y); | 
|  1276 } |  1275 } | 
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1587         buf.AppendChar((char)code); |  1586         buf.AppendChar((char)code); | 
|  1588       } |  1587       } | 
|  1589       bFirst = !bFirst; |  1588       bFirst = !bFirst; | 
|  1590     } |  1589     } | 
|  1591   } |  1590   } | 
|  1592   if (!bFirst) { |  1591   if (!bFirst) { | 
|  1593     buf.AppendChar((char)code); |  1592     buf.AppendChar((char)code); | 
|  1594   } |  1593   } | 
|  1595   return buf.GetByteString(); |  1594   return buf.GetByteString(); | 
|  1596 } |  1595 } | 
| OLD | NEW |