| 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_render.h" | 7 #include "../../../include/fpdfapi/fpdf_render.h" |
| 8 #include "../../../include/fpdfapi/fpdf_pageobj.h" | 8 #include "../../../include/fpdfapi/fpdf_pageobj.h" |
| 9 #include "../../../include/fxge/fx_ge.h" | 9 #include "../../../include/fxge/fx_ge.h" |
| 10 #include "../fpdf_page/pageint.h" | 10 #include "../fpdf_page/pageint.h" |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 return; | 415 return; |
| 416 } | 416 } |
| 417 int row_verts = pShadingStream->GetDict()->GetInteger("VerticesPerRow"); | 417 int row_verts = pShadingStream->GetDict()->GetInteger("VerticesPerRow"); |
| 418 if (row_verts < 2) { | 418 if (row_verts < 2) { |
| 419 return; | 419 return; |
| 420 } | 420 } |
| 421 CPDF_MeshStream stream; | 421 CPDF_MeshStream stream; |
| 422 if (!stream.Load(pShadingStream, pFuncs, nFuncs, pCS)) { | 422 if (!stream.Load(pShadingStream, pFuncs, nFuncs, pCS)) { |
| 423 return; | 423 return; |
| 424 } | 424 } |
| 425 CPDF_MeshVertex* vertex = FX_Alloc(CPDF_MeshVertex, row_verts * 2); | 425 CPDF_MeshVertex* vertex = FX_Alloc2D(CPDF_MeshVertex, row_verts, 2); |
| 426 if (!stream.GetVertexRow(vertex, row_verts, pObject2Bitmap)) { | 426 if (!stream.GetVertexRow(vertex, row_verts, pObject2Bitmap)) { |
| 427 FX_Free(vertex); | 427 FX_Free(vertex); |
| 428 return; | 428 return; |
| 429 } | 429 } |
| 430 int last_index = 0; | 430 int last_index = 0; |
| 431 while (1) { | 431 while (1) { |
| 432 CPDF_MeshVertex* last_row = vertex + last_index * row_verts; | 432 CPDF_MeshVertex* last_row = vertex + last_index * row_verts; |
| 433 CPDF_MeshVertex* this_row = vertex + (1 - last_index) * row_verts; | 433 CPDF_MeshVertex* this_row = vertex + (1 - last_index) * row_verts; |
| 434 if (!stream.GetVertexRow(this_row, row_verts, pObject2Bitmap)) { | 434 if (!stream.GetVertexRow(this_row, row_verts, pObject2Bitmap)) { |
| 435 FX_Free(vertex); | 435 FX_Free(vertex); |
| (...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 } | 1103 } |
| 1104 } | 1104 } |
| 1105 if(bStroke) { | 1105 if(bStroke) { |
| 1106 CPDF_Color& StrokeColor = *pPathObj->m_ColorState.GetStrokeColor(); | 1106 CPDF_Color& StrokeColor = *pPathObj->m_ColorState.GetStrokeColor(); |
| 1107 if(StrokeColor.m_pCS && StrokeColor.m_pCS->GetFamily() == PDFCS_PATTERN)
{ | 1107 if(StrokeColor.m_pCS && StrokeColor.m_pCS->GetFamily() == PDFCS_PATTERN)
{ |
| 1108 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, TRUE); | 1108 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, TRUE); |
| 1109 bStroke = FALSE; | 1109 bStroke = FALSE; |
| 1110 } | 1110 } |
| 1111 } | 1111 } |
| 1112 } | 1112 } |
| OLD | NEW |