Chromium Code Reviews| Index: core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp |
| diff --git a/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp b/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp |
| index 6ac380e43a3890f8a8d1e8ebad3b31bf709b4588..aa7abfd873025a32a8deb7a5006750ef655136bd 100644 |
| --- a/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp |
| +++ b/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp |
| @@ -889,21 +889,33 @@ void CPDF_RenderStatus::DrawShading(CPDF_ShadingPattern* pPattern, |
| pColorSpace, alpha); |
| break; |
| case kFreeFormGouraudTriangleMeshShading: { |
| - DrawFreeGouraudShading(pBitmap, &FinalMatrix, |
| - ToStream(pPattern->m_pShadingObj), pFuncs, nFuncs, |
| - pColorSpace, alpha); |
| + // The shading object can be a stream or a dictionary. We do not handle |
| + // the case of dictionary at the moment. |
| + if (pPattern->m_pShadingObj->IsStream()) { |
|
Tom Sepez
2016/04/21 16:24:24
nit: maybe if (CPFD_Stream* pStream = pPattern->m_
dsinclair
2016/04/21 16:56:00
Done.
|
| + DrawFreeGouraudShading(pBitmap, &FinalMatrix, |
| + ToStream(pPattern->m_pShadingObj), pFuncs, |
|
Tom Sepez
2016/04/21 16:24:24
nit: then you can write
pStream, pFuncts,
and
dsinclair
2016/04/21 16:56:00
Done.
|
| + nFuncs, pColorSpace, alpha); |
| + } |
| } break; |
| case kLatticeFormGouraudTriangleMeshShading: { |
| - DrawLatticeGouraudShading(pBitmap, &FinalMatrix, |
| - ToStream(pPattern->m_pShadingObj), pFuncs, |
| - nFuncs, pColorSpace, alpha); |
| + // The shading object can be a stream or a dictionary. We do not handle |
| + // the case of dictionary at the moment. |
| + if (pPattern->m_pShadingObj->IsStream()) { |
| + DrawLatticeGouraudShading(pBitmap, &FinalMatrix, |
| + ToStream(pPattern->m_pShadingObj), pFuncs, |
| + nFuncs, pColorSpace, alpha); |
| + } |
| } break; |
| case kCoonsPatchMeshShading: |
| case kTensorProductPatchMeshShading: { |
| - DrawCoonPatchMeshes( |
| - pPattern->m_ShadingType == kTensorProductPatchMeshShading, pBitmap, |
| - &FinalMatrix, ToStream(pPattern->m_pShadingObj), pFuncs, nFuncs, |
| - pColorSpace, fill_mode, alpha); |
| + // The shading object can be a stream or a dictionary. We do not handle |
| + // the case of dictionary at the moment. |
| + if (pPattern->m_pShadingObj->IsStream()) { |
| + DrawCoonPatchMeshes( |
| + pPattern->m_ShadingType == kTensorProductPatchMeshShading, pBitmap, |
| + &FinalMatrix, ToStream(pPattern->m_pShadingObj), pFuncs, nFuncs, |
| + pColorSpace, fill_mode, alpha); |
| + } |
| } break; |
| } |
| if (bAlphaMode) { |