OLD | NEW |
---|---|
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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/render/cpdf_renderstatus.h" | 7 #include "core/fpdfapi/render/cpdf_renderstatus.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 1040 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1051 #endif | 1051 #endif |
1052 } | 1052 } |
1053 | 1053 |
1054 bool CPDF_RenderStatus::ContinueSingleObject(CPDF_PageObject* pObj, | 1054 bool CPDF_RenderStatus::ContinueSingleObject(CPDF_PageObject* pObj, |
1055 const CFX_Matrix* pObj2Device, | 1055 const CFX_Matrix* pObj2Device, |
1056 IFX_Pause* pPause) { | 1056 IFX_Pause* pPause) { |
1057 if (m_pImageRenderer) { | 1057 if (m_pImageRenderer) { |
1058 if (m_pImageRenderer->Continue(pPause)) | 1058 if (m_pImageRenderer->Continue(pPause)) |
1059 return true; | 1059 return true; |
1060 | 1060 |
1061 if (!m_pImageRenderer->m_Result) | 1061 if (!m_pImageRenderer->GetResult()) |
1062 DrawObjWithBackground(pObj, pObj2Device); | 1062 DrawObjWithBackground(pObj, pObj2Device); |
1063 m_pImageRenderer.reset(); | 1063 m_pImageRenderer.reset(); |
1064 return false; | 1064 return false; |
1065 } | 1065 } |
1066 | 1066 |
1067 m_pCurObj = pObj; | 1067 m_pCurObj = pObj; |
1068 if (m_Options.m_pOCContext && pObj->m_ContentMark && | 1068 if (m_Options.m_pOCContext && pObj->m_ContentMark && |
1069 !m_Options.m_pOCContext->CheckObjectVisible(pObj)) { | 1069 !m_Options.m_pOCContext->CheckObjectVisible(pObj)) { |
1070 return false; | 1070 return false; |
1071 } | 1071 } |
1072 | 1072 |
1073 ProcessClipPath(pObj->m_ClipPath, pObj2Device); | 1073 ProcessClipPath(pObj->m_ClipPath, pObj2Device); |
1074 if (ProcessTransparency(pObj, pObj2Device)) | 1074 if (ProcessTransparency(pObj, pObj2Device)) |
1075 return false; | 1075 return false; |
1076 | 1076 |
1077 if (pObj->IsImage()) { | 1077 if (pObj->IsImage()) { |
1078 m_pImageRenderer.reset(new CPDF_ImageRenderer); | 1078 m_pImageRenderer.reset(new CPDF_ImageRenderer); |
1079 if (!m_pImageRenderer->Start(this, pObj, pObj2Device, false, | 1079 if (!m_pImageRenderer->Start(this, pObj, pObj2Device, false, |
1080 FXDIB_BLEND_NORMAL)) { | 1080 FXDIB_BLEND_NORMAL)) { |
1081 if (!m_pImageRenderer->m_Result) | 1081 if (!m_pImageRenderer->GetResult()) |
1082 DrawObjWithBackground(pObj, pObj2Device); | 1082 DrawObjWithBackground(pObj, pObj2Device); |
1083 m_pImageRenderer.reset(); | 1083 m_pImageRenderer.reset(); |
1084 return false; | 1084 return false; |
1085 } | 1085 } |
1086 return ContinueSingleObject(pObj, pObj2Device, pPause); | 1086 return ContinueSingleObject(pObj, pObj2Device, pPause); |
1087 } | 1087 } |
1088 | 1088 |
1089 ProcessObjectNoClip(pObj, pObj2Device); | 1089 ProcessObjectNoClip(pObj, pObj2Device); |
1090 return false; | 1090 return false; |
1091 } | 1091 } |
(...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1893 glyphs[iChar].m_OriginY = origin_y; | 1893 glyphs[iChar].m_OriginY = origin_y; |
1894 } | 1894 } |
1895 } else { | 1895 } else { |
1896 CFX_Matrix image_matrix = pType3Char->m_ImageMatrix; | 1896 CFX_Matrix image_matrix = pType3Char->m_ImageMatrix; |
1897 image_matrix.Concat(matrix); | 1897 image_matrix.Concat(matrix); |
1898 CPDF_ImageRenderer renderer; | 1898 CPDF_ImageRenderer renderer; |
1899 if (renderer.Start(this, pType3Char->m_pBitmap.get(), fill_argb, 255, | 1899 if (renderer.Start(this, pType3Char->m_pBitmap.get(), fill_argb, 255, |
1900 &image_matrix, 0, false, FXDIB_BLEND_NORMAL)) { | 1900 &image_matrix, 0, false, FXDIB_BLEND_NORMAL)) { |
1901 renderer.Continue(nullptr); | 1901 renderer.Continue(nullptr); |
1902 } | 1902 } |
1903 if (!renderer.m_Result) | 1903 if (!renderer.GetResult()) |
1904 return false; | 1904 return false; |
1905 } | 1905 } |
1906 } | 1906 } |
1907 } | 1907 } |
1908 | 1908 |
1909 if (glyphs.empty()) | 1909 if (glyphs.empty()) |
1910 return true; | 1910 return true; |
1911 | 1911 |
1912 FX_RECT rect = FXGE_GetGlyphsBBox(glyphs, 0, sa, sd); | 1912 FX_RECT rect = FXGE_GetGlyphsBBox(glyphs, 0, sa, sd); |
1913 CFX_DIBitmap bitmap; | 1913 CFX_DIBitmap bitmap; |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2368 if (StrokeColor.IsPattern()) { | 2368 if (StrokeColor.IsPattern()) { |
2369 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, true); | 2369 DrawPathWithPattern(pPathObj, pObj2Device, &StrokeColor, true); |
2370 bStroke = false; | 2370 bStroke = false; |
2371 } | 2371 } |
2372 } | 2372 } |
2373 } | 2373 } |
2374 | 2374 |
2375 bool CPDF_RenderStatus::ProcessImage(CPDF_ImageObject* pImageObj, | 2375 bool CPDF_RenderStatus::ProcessImage(CPDF_ImageObject* pImageObj, |
2376 const CFX_Matrix* pObj2Device) { | 2376 const CFX_Matrix* pObj2Device) { |
2377 CPDF_ImageRenderer render; | 2377 CPDF_ImageRenderer render; |
2378 if (render.Start(this, pImageObj, pObj2Device, m_bStdCS, m_curBlend)) { | 2378 if (render.Start(this, pImageObj, pObj2Device, m_bStdCS, m_curBlend)) { |
Tom Sepez
2016/11/28 18:42:53
nit: no {}
npm
2016/11/28 20:51:30
Done.
| |
2379 render.Continue(nullptr); | 2379 render.Continue(nullptr); |
2380 } | 2380 } |
2381 return render.m_Result; | 2381 return render.GetResult(); |
2382 } | 2382 } |
2383 | 2383 |
2384 void CPDF_RenderStatus::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, | 2384 void CPDF_RenderStatus::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, |
2385 int left, | 2385 int left, |
2386 int top, | 2386 int top, |
2387 FX_ARGB mask_argb, | 2387 FX_ARGB mask_argb, |
2388 int bitmap_alpha, | 2388 int bitmap_alpha, |
2389 int blend_mode, | 2389 int blend_mode, |
2390 int Transparency) { | 2390 int Transparency) { |
2391 if (!pDIBitmap) { | 2391 if (!pDIBitmap) { |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2629 } else if (pFunc) { | 2629 } else if (pFunc) { |
2630 int size = dest_pitch * height; | 2630 int size = dest_pitch * height; |
2631 for (int i = 0; i < size; i++) { | 2631 for (int i = 0; i < size; i++) { |
2632 dest_buf[i] = transfers[src_buf[i]]; | 2632 dest_buf[i] = transfers[src_buf[i]]; |
2633 } | 2633 } |
2634 } else { | 2634 } else { |
2635 FXSYS_memcpy(dest_buf, src_buf, dest_pitch * height); | 2635 FXSYS_memcpy(dest_buf, src_buf, dest_pitch * height); |
2636 } | 2636 } |
2637 return pMask; | 2637 return pMask; |
2638 } | 2638 } |
OLD | NEW |