7#include "core/fpdfapi/page/cpdf_imageloader.h"
11#include "core/fpdfapi/page/cpdf_dib.h"
12#include "core/fpdfapi/page/cpdf_image.h"
13#include "core/fpdfapi/page/cpdf_imageobject.h"
14#include "core/fpdfapi/page/cpdf_pageimagecache.h"
15#include "core/fpdfapi/page/cpdf_transferfunc.h"
16#include "core/fxcrt/check.h"
17#include "core/fxge/dib/cfx_dibitmap.h"
31 m_pCache = pPageImageCache;
32 m_pImageObject = pImage;
35 should_continue = m_pCache->StartGetCachedBitmap(
36 m_pImageObject->GetImage(), pFormResource, pPageResource, bStdCS,
37 eFamily, bLoadMask, max_size_required);
39 should_continue = m_pImageObject->GetImage()->StartLoadDIBBase(
40 pFormResource, pPageResource, bStdCS, eFamily, bLoadMask,
43 if (!should_continue) {
46 return should_continue;
50 bool should_continue = m_pCache
51 ? m_pCache->Continue(pPause)
52 : m_pImageObject->GetImage()->Continue(pPause);
53 if (!should_continue) {
56 return should_continue;
60 RetainPtr<CPDF_TransferFunc> pTransferFunc) {
62 DCHECK(!pTransferFunc->GetIdentity());
63 m_pBitmap = pTransferFunc->TranslateImage(std::move(m_pBitmap));
64 if (m_bCached && m_pMask)
65 m_pMask = m_pMask->Realize();
73 m_pBitmap = m_pCache->DetachCurBitmap();
74 m_pMask = m_pCache->DetachCurMask();
75 m_MatteColor = m_pCache->GetCurMatteColor();
78 RetainPtr<CPDF_Image> pImage = m_pImageObject->GetImage();
80 m_pBitmap = pImage->DetachBitmap();
81 m_pMask = pImage->DetachMask();
82 m_MatteColor = pImage->GetMatteColor();
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
RetainPtr< CFX_DIBBase > TranslateImage(RetainPtr< CPDF_TransferFunc > pTransferFunc)
bool Start(const CPDF_ImageObject *pImage, CPDF_PageImageCache *pPageImageCache, const CPDF_Dictionary *pFormResource, const CPDF_Dictionary *pPageResource, bool bStdCS, CPDF_ColorSpace::Family eFamily, bool bLoadMask, const CFX_Size &max_size_required)
bool Continue(PauseIndicatorIface *pPause)
CFX_STemplate< int32_t > CFX_Size