| 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 <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 textobj->m_GraphState.GetObject(), (FX_ARGB)-1, 0, nullptr, 0); | 797 textobj->m_GraphState.GetObject(), (FX_ARGB)-1, 0, nullptr, 0); |
| 798 } | 798 } |
| 799 } | 799 } |
| 800 CPDF_RenderStatus bitmap_render; | 800 CPDF_RenderStatus bitmap_render; |
| 801 bitmap_render.Initialize(m_pContext, &bitmap_device, nullptr, m_pStopObj, | 801 bitmap_render.Initialize(m_pContext, &bitmap_device, nullptr, m_pStopObj, |
| 802 nullptr, nullptr, &m_Options, 0, m_bDropObjects, | 802 nullptr, nullptr, &m_Options, 0, m_bDropObjects, |
| 803 pFormResource, TRUE); | 803 pFormResource, TRUE); |
| 804 bitmap_render.ProcessObjectNoClip(pPageObj, &new_matrix); | 804 bitmap_render.ProcessObjectNoClip(pPageObj, &new_matrix); |
| 805 m_bStopped = bitmap_render.m_bStopped; | 805 m_bStopped = bitmap_render.m_bStopped; |
| 806 if (pSMaskDict) { | 806 if (pSMaskDict) { |
| 807 CFX_Matrix smask_matrix; | 807 CFX_Matrix smask_matrix = *pPageObj->m_GeneralState.GetSMaskMatrix(); |
| 808 FXSYS_memcpy(&smask_matrix, pPageObj->m_GeneralState.GetSMaskMatrix(), | |
| 809 sizeof smask_matrix); | |
| 810 smask_matrix.Concat(*pObj2Device); | 808 smask_matrix.Concat(*pObj2Device); |
| 811 std::unique_ptr<CFX_DIBSource> pSMaskSource( | 809 std::unique_ptr<CFX_DIBSource> pSMaskSource( |
| 812 LoadSMask(pSMaskDict, &rect, &smask_matrix)); | 810 LoadSMask(pSMaskDict, &rect, &smask_matrix)); |
| 813 if (pSMaskSource) | 811 if (pSMaskSource) |
| 814 bitmap->MultiplyAlpha(pSMaskSource.get()); | 812 bitmap->MultiplyAlpha(pSMaskSource.get()); |
| 815 } | 813 } |
| 816 if (pTextMask) { | 814 if (pTextMask) { |
| 817 bitmap->MultiplyAlpha(pTextMask.get()); | 815 bitmap->MultiplyAlpha(pTextMask.get()); |
| 818 pTextMask.reset(); | 816 pTextMask.reset(); |
| 819 } | 817 } |
| (...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1279 m_pDevice->StretchDIBits(m_pBitmapDevice->GetBitmap(), m_Rect.left, | 1277 m_pDevice->StretchDIBits(m_pBitmapDevice->GetBitmap(), m_Rect.left, |
| 1280 m_Rect.top, m_Rect.Width(), m_Rect.Height()); | 1278 m_Rect.top, m_Rect.Width(), m_Rect.Height()); |
| 1281 } | 1279 } |
| 1282 } | 1280 } |
| 1283 | 1281 |
| 1284 #if defined _SKIA_SUPPORT_ | 1282 #if defined _SKIA_SUPPORT_ |
| 1285 void CPDF_RenderStatus::DebugVerifyDeviceIsPreMultiplied() const { | 1283 void CPDF_RenderStatus::DebugVerifyDeviceIsPreMultiplied() const { |
| 1286 m_pDevice->DebugVerifyBitmapIsPreMultiplied(); | 1284 m_pDevice->DebugVerifyBitmapIsPreMultiplied(); |
| 1287 } | 1285 } |
| 1288 #endif | 1286 #endif |
| OLD | NEW |