| 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/include/fxge/fx_dib.h" | 7 #include "core/include/fxge/fx_dib.h" |
| 8 | 8 |
| 9 #include <limits.h> | 9 #include <limits.h> |
| 10 | 10 |
| (...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 if (!pSrcBitmap->IsAlphaMask()) { | 837 if (!pSrcBitmap->IsAlphaMask()) { |
| 838 return FALSE; | 838 return FALSE; |
| 839 } | 839 } |
| 840 if (!IsAlphaMask() && !HasAlpha()) { | 840 if (!IsAlphaMask() && !HasAlpha()) { |
| 841 return LoadChannel(FXDIB_Alpha, pSrcBitmap, FXDIB_Alpha); | 841 return LoadChannel(FXDIB_Alpha, pSrcBitmap, FXDIB_Alpha); |
| 842 } | 842 } |
| 843 CFX_DIBitmap* pSrcClone = (CFX_DIBitmap*)pSrcBitmap; | 843 CFX_DIBitmap* pSrcClone = (CFX_DIBitmap*)pSrcBitmap; |
| 844 if (pSrcBitmap->GetWidth() != m_Width || | 844 if (pSrcBitmap->GetWidth() != m_Width || |
| 845 pSrcBitmap->GetHeight() != m_Height) { | 845 pSrcBitmap->GetHeight() != m_Height) { |
| 846 pSrcClone = pSrcBitmap->StretchTo(m_Width, m_Height); | 846 pSrcClone = pSrcBitmap->StretchTo(m_Width, m_Height); |
| 847 ASSERT(pSrcClone != NULL); | |
| 848 if (pSrcClone == NULL) { | 847 if (pSrcClone == NULL) { |
| 849 return FALSE; | 848 return FALSE; |
| 850 } | 849 } |
| 851 } | 850 } |
| 852 if (IsAlphaMask()) { | 851 if (IsAlphaMask()) { |
| 853 if (!ConvertFormat(FXDIB_8bppMask)) { | 852 if (!ConvertFormat(FXDIB_8bppMask)) { |
| 854 if (pSrcClone != pSrcBitmap) { | 853 if (pSrcClone != pSrcBitmap) { |
| 855 delete pSrcClone; | 854 delete pSrcClone; |
| 856 } | 855 } |
| 857 return FALSE; | 856 return FALSE; |
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1333 } | 1332 } |
| 1334 } | 1333 } |
| 1335 return TRUE; | 1334 return TRUE; |
| 1336 } | 1335 } |
| 1337 FX_BOOL CFX_DIBitmap::DitherFS(const FX_DWORD* pPalette, | 1336 FX_BOOL CFX_DIBitmap::DitherFS(const FX_DWORD* pPalette, |
| 1338 int pal_size, | 1337 int pal_size, |
| 1339 const FX_RECT* pRect) { | 1338 const FX_RECT* pRect) { |
| 1340 if (m_pBuffer == NULL) { | 1339 if (m_pBuffer == NULL) { |
| 1341 return FALSE; | 1340 return FALSE; |
| 1342 } | 1341 } |
| 1343 if (m_bpp != 8 && m_pPalette != NULL && m_AlphaFlag != 0) { | 1342 if (m_bpp != 8 && m_pPalette && m_AlphaFlag != 0) { |
| 1344 return FALSE; | 1343 return FALSE; |
| 1345 } | 1344 } |
| 1346 if (m_Width < 4 && m_Height < 4) { | 1345 if (m_Width < 4 && m_Height < 4) { |
| 1347 return FALSE; | 1346 return FALSE; |
| 1348 } | 1347 } |
| 1349 FX_RECT rect(0, 0, m_Width, m_Height); | 1348 FX_RECT rect(0, 0, m_Width, m_Height); |
| 1350 if (pRect) { | 1349 if (pRect) { |
| 1351 rect.Intersect(*pRect); | 1350 rect.Intersect(*pRect); |
| 1352 } | 1351 } |
| 1353 uint8_t translate[256]; | 1352 uint8_t translate[256]; |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1716 if (!m_pBitmap->Create(width, height, src_format)) { | 1715 if (!m_pBitmap->Create(width, height, src_format)) { |
| 1717 delete m_pBitmap; | 1716 delete m_pBitmap; |
| 1718 m_pBitmap = NULL; | 1717 m_pBitmap = NULL; |
| 1719 return FALSE; | 1718 return FALSE; |
| 1720 } | 1719 } |
| 1721 if (pSrcPalette) { | 1720 if (pSrcPalette) { |
| 1722 m_pBitmap->CopyPalette(pSrcPalette); | 1721 m_pBitmap->CopyPalette(pSrcPalette); |
| 1723 } | 1722 } |
| 1724 return TRUE; | 1723 return TRUE; |
| 1725 } | 1724 } |
| OLD | NEW |