Index: core/fpdfapi/render/cpdf_imagecacheentry.h |
diff --git a/core/fpdfapi/render/cpdf_imagecacheentry.h b/core/fpdfapi/render/cpdf_imagecacheentry.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e4481e0d73d253517efc02c4edac0e0374f2f0fd |
--- /dev/null |
+++ b/core/fpdfapi/render/cpdf_imagecacheentry.h |
@@ -0,0 +1,71 @@ |
+// Copyright 2016 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#ifndef CORE_FPDFAPI_RENDER_CPDF_IMAGECACHEENTRY_H_ |
+#define CORE_FPDFAPI_RENDER_CPDF_IMAGECACHEENTRY_H_ |
+ |
+#include <memory> |
+ |
+#include "core/fxcrt/fx_system.h" |
+ |
+class CFX_DIBitmap; |
+class CFX_DIBSource; |
+class CPDF_Dictionary; |
+class CPDF_Document; |
+class CPDF_RenderStatus; |
+class CPDF_Stream; |
+class IFX_Pause; |
+ |
+class CPDF_ImageCacheEntry { |
+ public: |
+ CPDF_ImageCacheEntry(CPDF_Document* pDoc, CPDF_Stream* pStream); |
+ ~CPDF_ImageCacheEntry(); |
+ |
+ void Reset(const CFX_DIBitmap* pBitmap); |
+ bool GetCachedBitmap(CFX_DIBSource*& pBitmap, |
+ CFX_DIBSource*& pMask, |
+ uint32_t& MatteColor, |
+ CPDF_Dictionary* pPageResources, |
+ bool bStdCS, |
+ uint32_t GroupFamily, |
+ bool bLoadMask, |
+ CPDF_RenderStatus* pRenderStatus, |
+ int32_t downsampleWidth, |
+ int32_t downsampleHeight); |
+ uint32_t EstimateSize() const { return m_dwCacheSize; } |
+ uint32_t GetTimeCount() const { return m_dwTimeCount; } |
+ CPDF_Stream* GetStream() const { return m_pStream; } |
+ |
+ int StartGetCachedBitmap(CPDF_Dictionary* pFormResources, |
+ CPDF_Dictionary* pPageResources, |
+ bool bStdCS, |
+ uint32_t GroupFamily, |
+ bool bLoadMask, |
+ CPDF_RenderStatus* pRenderStatus, |
+ int32_t downsampleWidth, |
+ int32_t downsampleHeight); |
+ int Continue(IFX_Pause* pPause); |
+ CFX_DIBSource* DetachBitmap(); |
+ CFX_DIBSource* DetachMask(); |
+ |
+ int m_dwTimeCount; |
+ uint32_t m_MatteColor; |
+ |
+ private: |
+ void ContinueGetCachedBitmap(); |
+ |
+ CPDF_RenderStatus* m_pRenderStatus; |
+ CPDF_Document* m_pDocument; |
+ CPDF_Stream* m_pStream; |
+ CFX_DIBSource* m_pCurBitmap; |
+ CFX_DIBSource* m_pCurMask; |
+ std::unique_ptr<CFX_DIBSource> m_pCachedBitmap; |
+ std::unique_ptr<CFX_DIBSource> m_pCachedMask; |
+ uint32_t m_dwCacheSize; |
+ void CalcSize(); |
+}; |
+ |
+#endif // CORE_FPDFAPI_RENDER_CPDF_IMAGECACHEENTRY_H_ |