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 "../../../include/fpdfapi/fpdf_module.h" | 7 #include "../../../include/fpdfapi/fpdf_module.h" |
8 #include "../../../include/fpdfapi/fpdf_pageobj.h" | 8 #include "../../../include/fpdfapi/fpdf_pageobj.h" |
9 #include "../../../include/fpdfapi/fpdf_render.h" | 9 #include "../../../include/fpdfapi/fpdf_render.h" |
10 #include "../../../include/fxcodec/fx_codec.h" | 10 #include "../../../include/fxcodec/fx_codec.h" |
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 if (m_pQuickStretcher->Continue(pPause)) { | 754 if (m_pQuickStretcher->Continue(pPause)) { |
755 return TRUE; | 755 return TRUE; |
756 } | 756 } |
757 if (m_pQuickStretcher->m_pBitmap->IsAlphaMask()) | 757 if (m_pQuickStretcher->m_pBitmap->IsAlphaMask()) |
758 m_pRenderStatus->m_pDevice->SetBitMask(m_pQuickStretcher->m_pBitmap,
m_pQuickStretcher->m_ResultLeft, | 758 m_pRenderStatus->m_pDevice->SetBitMask(m_pQuickStretcher->m_pBitmap,
m_pQuickStretcher->m_ResultLeft, |
759 m_pQuickStretcher->m_ResultTo
p, m_FillArgb); | 759 m_pQuickStretcher->m_ResultTo
p, m_FillArgb); |
760 else | 760 else |
761 m_pRenderStatus->m_pDevice->SetDIBits(m_pQuickStretcher->m_pBitmap,
m_pQuickStretcher->m_ResultLeft, | 761 m_pRenderStatus->m_pDevice->SetDIBits(m_pQuickStretcher->m_pBitmap,
m_pQuickStretcher->m_ResultLeft, |
762 m_pQuickStretcher->m_ResultTop
, m_BlendType); | 762 m_pQuickStretcher->m_ResultTop
, m_BlendType); |
763 return FALSE; | 763 return FALSE; |
764 } else if (m_Status == 2) { | 764 } |
| 765 if (m_Status == 2) { |
765 if (m_pTransformer->Continue(pPause)) { | 766 if (m_pTransformer->Continue(pPause)) { |
766 return TRUE; | 767 return TRUE; |
767 } | 768 } |
768 CFX_DIBitmap* pBitmap = m_pTransformer->m_Storer.Detach(); | 769 CFX_DIBitmap* pBitmap = m_pTransformer->m_Storer.Detach(); |
769 if (pBitmap == NULL) { | 770 if (pBitmap == NULL) { |
770 return FALSE; | 771 return FALSE; |
771 } | 772 } |
772 if (pBitmap->IsAlphaMask()) { | 773 if (pBitmap->IsAlphaMask()) { |
773 if (m_BitmapAlpha != 255) { | 774 if (m_BitmapAlpha != 255) { |
774 m_FillArgb = FXARGB_MUL_ALPHA(m_FillArgb, m_BitmapAlpha); | 775 m_FillArgb = FXARGB_MUL_ALPHA(m_FillArgb, m_BitmapAlpha); |
775 } | 776 } |
776 m_Result = m_pRenderStatus->m_pDevice->SetBitMask(pBitmap, | 777 m_Result = m_pRenderStatus->m_pDevice->SetBitMask(pBitmap, |
777 m_pTransformer->m_ResultLeft, m_pTransformer->m_ResultTop
, m_FillArgb); | 778 m_pTransformer->m_ResultLeft, m_pTransformer->m_ResultTop
, m_FillArgb); |
778 } else { | 779 } else { |
779 if (m_BitmapAlpha != 255) { | 780 if (m_BitmapAlpha != 255) { |
780 pBitmap->MultiplyAlpha(m_BitmapAlpha); | 781 pBitmap->MultiplyAlpha(m_BitmapAlpha); |
781 } | 782 } |
782 m_Result = m_pRenderStatus->m_pDevice->SetDIBits(pBitmap, | 783 m_Result = m_pRenderStatus->m_pDevice->SetDIBits(pBitmap, |
783 m_pTransformer->m_ResultLeft, m_pTransformer->m_ResultTop
, m_BlendType); | 784 m_pTransformer->m_ResultLeft, m_pTransformer->m_ResultTop
, m_BlendType); |
784 } | 785 } |
785 delete pBitmap; | 786 delete pBitmap; |
786 return FALSE; | 787 return FALSE; |
787 } else if (m_Status == 3) { | 788 } |
| 789 if (m_Status == 3) { |
788 return m_pRenderStatus->m_pDevice->ContinueDIBits(m_DeviceHandle, pPause
); | 790 return m_pRenderStatus->m_pDevice->ContinueDIBits(m_DeviceHandle, pPause
); |
789 } else if (m_Status == 4) { | 791 } |
| 792 if (m_Status == 4) { |
790 if (m_Loader.Continue(m_LoadHandle, pPause)) { | 793 if (m_Loader.Continue(m_LoadHandle, pPause)) { |
791 return TRUE; | 794 return TRUE; |
792 } | 795 } |
793 if (StartRenderDIBSource()) { | 796 if (StartRenderDIBSource()) { |
794 return Continue(pPause); | 797 return Continue(pPause); |
795 } | 798 } |
796 return FALSE; | |
797 } | 799 } |
798 return FALSE; | 800 return FALSE; |
799 } | 801 } |
800 CPDF_QuickStretcher::CPDF_QuickStretcher() | 802 CPDF_QuickStretcher::CPDF_QuickStretcher() |
801 { | 803 { |
802 m_pBitmap = NULL; | 804 m_pBitmap = NULL; |
803 m_pDecoder = NULL; | 805 m_pDecoder = NULL; |
804 m_pCS = NULL; | 806 m_pCS = NULL; |
805 } | 807 } |
806 CPDF_QuickStretcher::~CPDF_QuickStretcher() | 808 CPDF_QuickStretcher::~CPDF_QuickStretcher() |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1070 for (int i = 0; i < size; i ++) { | 1072 for (int i = 0; i < size; i ++) { |
1071 dest_buf[i] = pTransfer[src_buf[i]]; | 1073 dest_buf[i] = pTransfer[src_buf[i]]; |
1072 } | 1074 } |
1073 } else { | 1075 } else { |
1074 FXSYS_memcpy(dest_buf, src_buf, dest_pitch * height); | 1076 FXSYS_memcpy(dest_buf, src_buf, dest_pitch * height); |
1075 } | 1077 } |
1076 delete pFunc; | 1078 delete pFunc; |
1077 FX_Free(pTransfer); | 1079 FX_Free(pTransfer); |
1078 return pMask; | 1080 return pMask; |
1079 } | 1081 } |
OLD | NEW |