diff options
Diffstat (limited to 'core/fpdfapi/render/fpdf_render_loadimage.cpp')
-rw-r--r-- | core/fpdfapi/render/fpdf_render_loadimage.cpp | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/core/fpdfapi/render/fpdf_render_loadimage.cpp b/core/fpdfapi/render/fpdf_render_loadimage.cpp index 0a1be1b976..d797b06135 100644 --- a/core/fpdfapi/render/fpdf_render_loadimage.cpp +++ b/core/fpdfapi/render/fpdf_render_loadimage.cpp @@ -1503,94 +1503,3 @@ bool CPDF_DIBSource::TransMask() const { return m_bLoadMask && m_GroupFamily == PDFCS_DEVICECMYK && m_Family == PDFCS_DEVICECMYK; } - -CPDF_ImageLoaderHandle::CPDF_ImageLoaderHandle() { - m_pImageLoader = nullptr; - m_pCache = nullptr; - m_pImage = nullptr; -} - -CPDF_ImageLoaderHandle::~CPDF_ImageLoaderHandle() {} - -bool CPDF_ImageLoaderHandle::Start(CPDF_ImageLoader* pImageLoader, - const CPDF_ImageObject* pImage, - CPDF_PageRenderCache* pCache, - bool bStdCS, - uint32_t GroupFamily, - bool bLoadMask, - CPDF_RenderStatus* pRenderStatus, - int32_t nDownsampleWidth, - int32_t nDownsampleHeight) { - m_pImageLoader = pImageLoader; - m_pCache = pCache; - m_pImage = const_cast<CPDF_ImageObject*>(pImage); - m_nDownsampleWidth = nDownsampleWidth; - m_nDownsampleHeight = nDownsampleHeight; - bool ret; - if (pCache) { - ret = pCache->StartGetCachedBitmap( - m_pImage->GetImage()->GetStream(), bStdCS, GroupFamily, bLoadMask, - pRenderStatus, m_nDownsampleWidth, m_nDownsampleHeight); - } else { - ret = m_pImage->GetImage()->StartLoadDIBSource( - pRenderStatus->m_pFormResource, pRenderStatus->m_pPageResource, bStdCS, - GroupFamily, bLoadMask); - } - if (!ret) - HandleFailure(); - return ret; -} - -bool CPDF_ImageLoaderHandle::Continue(IFX_Pause* pPause) { - bool ret = m_pCache ? m_pCache->Continue(pPause) - : m_pImage->GetImage()->Continue(pPause); - if (!ret) - HandleFailure(); - return ret; -} - -void CPDF_ImageLoaderHandle::HandleFailure() { - if (m_pCache) { - CPDF_ImageCacheEntry* entry = m_pCache->GetCurImageCacheEntry(); - m_pImageLoader->m_bCached = true; - m_pImageLoader->m_pBitmap = entry->DetachBitmap(); - m_pImageLoader->m_pMask = entry->DetachMask(); - m_pImageLoader->m_MatteColor = entry->m_MatteColor; - } else { - CPDF_Image* pImage = m_pImage->GetImage(); - m_pImageLoader->m_bCached = false; - m_pImageLoader->m_pBitmap = pImage->DetachBitmap(); - m_pImageLoader->m_pMask = pImage->DetachMask(); - m_pImageLoader->m_MatteColor = pImage->m_MatteColor; - } -} - -bool CPDF_ImageLoader::Start( - const CPDF_ImageObject* pImage, - CPDF_PageRenderCache* pCache, - std::unique_ptr<CPDF_ImageLoaderHandle>* pLoadHandle, - bool bStdCS, - uint32_t GroupFamily, - bool bLoadMask, - CPDF_RenderStatus* pRenderStatus, - int32_t nDownsampleWidth, - int32_t nDownsampleHeight) { - m_nDownsampleWidth = nDownsampleWidth; - m_nDownsampleHeight = nDownsampleHeight; - pLoadHandle->reset(new CPDF_ImageLoaderHandle); - return (*pLoadHandle) - ->Start(this, pImage, pCache, bStdCS, GroupFamily, bLoadMask, - pRenderStatus, m_nDownsampleWidth, m_nDownsampleHeight); -} - -bool CPDF_ImageLoader::Continue(CPDF_ImageLoaderHandle* LoadHandle, - IFX_Pause* pPause) { - return LoadHandle->Continue(pPause); -} - -CPDF_ImageLoader::~CPDF_ImageLoader() { - if (!m_bCached) { - delete m_pBitmap; - delete m_pMask; - } -} |