| 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_font/cpdf_type3char.h" | 9 #include "core/fpdfapi/fpdf_font/cpdf_type3char.h" |
| 10 #include "core/fpdfapi/fpdf_font/cpdf_type3font.h" | 10 #include "core/fpdfapi/fpdf_font/cpdf_type3font.h" |
| (...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 808 smask_matrix.Concat(*pObj2Device); | 808 smask_matrix.Concat(*pObj2Device); |
| 809 std::unique_ptr<CFX_DIBSource> pSMaskSource( | 809 std::unique_ptr<CFX_DIBSource> pSMaskSource( |
| 810 LoadSMask(pSMaskDict, &rect, &smask_matrix)); | 810 LoadSMask(pSMaskDict, &rect, &smask_matrix)); |
| 811 if (pSMaskSource) | 811 if (pSMaskSource) |
| 812 bitmap->MultiplyAlpha(pSMaskSource.get()); | 812 bitmap->MultiplyAlpha(pSMaskSource.get()); |
| 813 } | 813 } |
| 814 if (pTextMask) { | 814 if (pTextMask) { |
| 815 bitmap->MultiplyAlpha(pTextMask.get()); | 815 bitmap->MultiplyAlpha(pTextMask.get()); |
| 816 pTextMask.reset(); | 816 pTextMask.reset(); |
| 817 } | 817 } |
| 818 int32_t blitAlpha = 255; |
| 818 if (Transparency & PDFTRANS_GROUP && group_alpha != 1.0f) { | 819 if (Transparency & PDFTRANS_GROUP && group_alpha != 1.0f) { |
| 819 bitmap->MultiplyAlpha((int32_t)(group_alpha * 255)); | 820 blitAlpha = (int32_t)(group_alpha * 255); |
| 821 #ifndef _SKIA_SUPPORT_ |
| 822 bitmap->MultiplyAlpha(blitAlpha); |
| 823 blitAlpha = 255; |
| 824 #endif |
| 820 } | 825 } |
| 821 Transparency = m_Transparency; | 826 Transparency = m_Transparency; |
| 822 if (pPageObj->IsForm()) { | 827 if (pPageObj->IsForm()) { |
| 823 Transparency |= PDFTRANS_GROUP; | 828 Transparency |= PDFTRANS_GROUP; |
| 824 } | 829 } |
| 825 CompositeDIBitmap(bitmap, rect.left, rect.top, 0, 255, blend_type, | 830 CompositeDIBitmap(bitmap, rect.left, rect.top, 0, blitAlpha, blend_type, |
| 826 Transparency); | 831 Transparency); |
| 827 return TRUE; | 832 return TRUE; |
| 828 } | 833 } |
| 829 | 834 |
| 830 CFX_DIBitmap* CPDF_RenderStatus::GetBackdrop(const CPDF_PageObject* pObj, | 835 CFX_DIBitmap* CPDF_RenderStatus::GetBackdrop(const CPDF_PageObject* pObj, |
| 831 const FX_RECT& rect, | 836 const FX_RECT& rect, |
| 832 int& left, | 837 int& left, |
| 833 int& top, | 838 int& top, |
| 834 FX_BOOL bBackAlphaRequired) { | 839 FX_BOOL bBackAlphaRequired) { |
| 835 FX_RECT bbox = rect; | 840 FX_RECT bbox = rect; |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1266 m_pContext->GetBackground(m_pBitmapDevice->GetBitmap(), m_pObject, pOptions, | 1271 m_pContext->GetBackground(m_pBitmapDevice->GetBitmap(), m_pObject, pOptions, |
| 1267 &m_Matrix); | 1272 &m_Matrix); |
| 1268 return TRUE; | 1273 return TRUE; |
| 1269 } | 1274 } |
| 1270 void CPDF_ScaledRenderBuffer::OutputToDevice() { | 1275 void CPDF_ScaledRenderBuffer::OutputToDevice() { |
| 1271 if (m_pBitmapDevice) { | 1276 if (m_pBitmapDevice) { |
| 1272 m_pDevice->StretchDIBits(m_pBitmapDevice->GetBitmap(), m_Rect.left, | 1277 m_pDevice->StretchDIBits(m_pBitmapDevice->GetBitmap(), m_Rect.left, |
| 1273 m_Rect.top, m_Rect.Width(), m_Rect.Height()); | 1278 m_Rect.top, m_Rect.Width(), m_Rect.Height()); |
| 1274 } | 1279 } |
| 1275 } | 1280 } |
| OLD | NEW |