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 "core/fpdfapi/fpdf_render/render_int.h" | 7 #include "core/fpdfapi/fpdf_render/render_int.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_page/cpdf_graphicstates.h" | 9 #include "core/fpdfapi/fpdf_page/cpdf_graphicstates.h" |
10 #include "core/fpdfapi/fpdf_page/cpdf_meshstream.h" | 10 #include "core/fpdfapi/fpdf_page/cpdf_meshstream.h" |
(...skipping 837 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
848 background = ArgbEncode(255, (int32_t)(R * 255), (int32_t)(G * 255), | 848 background = ArgbEncode(255, (int32_t)(R * 255), (int32_t)(G * 255), |
849 (int32_t)(B * 255)); | 849 (int32_t)(B * 255)); |
850 } | 850 } |
851 } | 851 } |
852 if (pDict->KeyExist("BBox")) { | 852 if (pDict->KeyExist("BBox")) { |
853 CFX_FloatRect rect = pDict->GetRectBy("BBox"); | 853 CFX_FloatRect rect = pDict->GetRectBy("BBox"); |
854 rect.Transform(pMatrix); | 854 rect.Transform(pMatrix); |
855 clip_rect.Intersect(rect.GetOutterRect()); | 855 clip_rect.Intersect(rect.GetOutterRect()); |
856 } | 856 } |
857 if (m_pDevice->GetDeviceCaps(FXDC_RENDER_CAPS) & FXRC_SHADING && | 857 if (m_pDevice->GetDeviceCaps(FXDC_RENDER_CAPS) & FXRC_SHADING && |
858 m_pDevice->GetDeviceDriver()->DrawShading(pPattern, pMatrix, alpha, | 858 m_pDevice->GetDeviceDriver()->DrawShading(pPattern, pMatrix, clip_rect, |
859 bAlphaMode)) { | 859 alpha, bAlphaMode)) { |
860 return; | 860 return; |
861 } | 861 } |
862 CPDF_DeviceBuffer buffer; | 862 CPDF_DeviceBuffer buffer; |
863 buffer.Initialize(m_pContext, m_pDevice, &clip_rect, m_pCurObj, 150); | 863 buffer.Initialize(m_pContext, m_pDevice, &clip_rect, m_pCurObj, 150); |
864 CFX_Matrix FinalMatrix = *pMatrix; | 864 CFX_Matrix FinalMatrix = *pMatrix; |
865 FinalMatrix.Concat(*buffer.GetMatrix()); | 865 FinalMatrix.Concat(*buffer.GetMatrix()); |
866 CFX_DIBitmap* pBitmap = buffer.GetBitmap(); | 866 CFX_DIBitmap* pBitmap = buffer.GetBitmap(); |
867 if (!pBitmap->GetBuffer()) { | 867 if (!pBitmap->GetBuffer()) { |
868 return; | 868 return; |
869 } | 869 } |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1207 } | 1207 } |
1208 } | 1208 } |
1209 if (bStroke) { | 1209 if (bStroke) { |
1210 CPDF_Color& StrokeColor = *pPathObj->m_ColorState.GetStrokeColor(); | 1210 CPDF_Color& StrokeColor = *pPathObj->m_ColorState.GetStrokeColor(); |
1211 if (StrokeColor.m_pCS && StrokeColor.m_pCS->GetFamily() == PDFCS_PATTERN) { | 1211 if (StrokeColor.m_pCS && StrokeColor.m_pCS->GetFamily() == PDFCS_PATTERN) { |
1212 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, TRUE); | 1212 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, TRUE); |
1213 bStroke = FALSE; | 1213 bStroke = FALSE; |
1214 } | 1214 } |
1215 } | 1215 } |
1216 } | 1216 } |
OLD | NEW |