Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: core/fpdfapi/render/cpdf_renderstatus.cpp

Issue 2546803003: re-enable skia caching (Closed)
Patch Set: remove nullptr Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fpdfapi/cpdf_pagerendercontext.h ('k') | core/fxge/cfx_renderdevice.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 880 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 CPDF_RenderOptions options; 891 CPDF_RenderOptions options;
892 if (!pPattern->colored()) 892 if (!pPattern->colored())
893 options.m_ColorMode = RENDER_COLOR_ALPHA; 893 options.m_ColorMode = RENDER_COLOR_ALPHA;
894 894
895 flags |= RENDER_FORCE_HALFTONE; 895 flags |= RENDER_FORCE_HALFTONE;
896 options.m_Flags = flags; 896 options.m_Flags = flags;
897 CPDF_RenderContext context(pDoc, pCache); 897 CPDF_RenderContext context(pDoc, pCache);
898 context.AppendLayer(pPattern->form(), &mtPattern2Bitmap); 898 context.AppendLayer(pPattern->form(), &mtPattern2Bitmap);
899 context.Render(&bitmap_device, &options, nullptr); 899 context.Render(&bitmap_device, &options, nullptr);
900 #if defined _SKIA_SUPPORT_PATHS_ 900 #if defined _SKIA_SUPPORT_PATHS_
901 bitmap_device.Flush();
901 pBitmap->UnPreMultiply(); 902 pBitmap->UnPreMultiply();
902 #endif 903 #endif
903 return pBitmap; 904 return pBitmap;
904 } 905 }
905 906
906 bool IsAvailableMatrix(const CFX_Matrix& matrix) { 907 bool IsAvailableMatrix(const CFX_Matrix& matrix) {
907 if (matrix.a == 0 || matrix.d == 0) 908 if (matrix.a == 0 || matrix.d == 0)
908 return matrix.b != 0 && matrix.c != 0; 909 return matrix.b != 0 && matrix.c != 0;
909 910
910 if (matrix.b == 0 || matrix.c == 0) 911 if (matrix.b == 0 || matrix.c == 0)
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
1546 textobj->m_TextState.GetFontSize(), &text_matrix, &new_matrix, 1547 textobj->m_TextState.GetFontSize(), &text_matrix, &new_matrix,
1547 textobj->m_GraphState.GetObject(), (FX_ARGB)-1, 0, nullptr, 0); 1548 textobj->m_GraphState.GetObject(), (FX_ARGB)-1, 0, nullptr, 0);
1548 } 1549 }
1549 } 1550 }
1550 CPDF_RenderStatus bitmap_render; 1551 CPDF_RenderStatus bitmap_render;
1551 bitmap_render.Initialize(m_pContext, &bitmap_device, nullptr, m_pStopObj, 1552 bitmap_render.Initialize(m_pContext, &bitmap_device, nullptr, m_pStopObj,
1552 nullptr, nullptr, &m_Options, 0, m_bDropObjects, 1553 nullptr, nullptr, &m_Options, 0, m_bDropObjects,
1553 pFormResource, true); 1554 pFormResource, true);
1554 bitmap_render.ProcessObjectNoClip(pPageObj, &new_matrix); 1555 bitmap_render.ProcessObjectNoClip(pPageObj, &new_matrix);
1555 #if defined _SKIA_SUPPORT_PATHS_ 1556 #if defined _SKIA_SUPPORT_PATHS_
1557 bitmap_device.Flush();
1556 bitmap->UnPreMultiply(); 1558 bitmap->UnPreMultiply();
1557 #endif 1559 #endif
1558 m_bStopped = bitmap_render.m_bStopped; 1560 m_bStopped = bitmap_render.m_bStopped;
1559 if (pSMaskDict) { 1561 if (pSMaskDict) {
1560 CFX_Matrix smask_matrix = *pPageObj->m_GeneralState.GetSMaskMatrix(); 1562 CFX_Matrix smask_matrix = *pPageObj->m_GeneralState.GetSMaskMatrix();
1561 smask_matrix.Concat(*pObj2Device); 1563 smask_matrix.Concat(*pObj2Device);
1562 std::unique_ptr<CFX_DIBSource> pSMaskSource = 1564 std::unique_ptr<CFX_DIBSource> pSMaskSource =
1563 LoadSMask(pSMaskDict, &rect, &smask_matrix); 1565 LoadSMask(pSMaskDict, &rect, &smask_matrix);
1564 if (pSMaskSource) 1566 if (pSMaskSource)
1565 bitmap->MultiplyAlpha(pSMaskSource.get()); 1567 bitmap->MultiplyAlpha(pSMaskSource.get());
(...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after
2625 } else if (pFunc) { 2627 } else if (pFunc) {
2626 int size = dest_pitch * height; 2628 int size = dest_pitch * height;
2627 for (int i = 0; i < size; i++) { 2629 for (int i = 0; i < size; i++) {
2628 dest_buf[i] = transfers[src_buf[i]]; 2630 dest_buf[i] = transfers[src_buf[i]];
2629 } 2631 }
2630 } else { 2632 } else {
2631 FXSYS_memcpy(dest_buf, src_buf, dest_pitch * height); 2633 FXSYS_memcpy(dest_buf, src_buf, dest_pitch * height);
2632 } 2634 }
2633 return pMask; 2635 return pMask;
2634 } 2636 }
OLDNEW
« no previous file with comments | « core/fpdfapi/cpdf_pagerendercontext.h ('k') | core/fxge/cfx_renderdevice.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698