Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(369)

Side by Side Diff: core/fpdfapi/render/cpdf_pagerendercache.h

Issue 2550543002: Kill off fpdf_render_cache.cpp (Closed)
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fpdfapi/render/cpdf_imageloader.cpp ('k') | core/fpdfapi/render/cpdf_pagerendercache.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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 #ifndef CORE_FPDFAPI_RENDER_CPDF_PAGERENDERCACHE_H_ 7 #ifndef CORE_FPDFAPI_RENDER_CPDF_PAGERENDERCACHE_H_
8 #define CORE_FPDFAPI_RENDER_CPDF_PAGERENDERCACHE_H_ 8 #define CORE_FPDFAPI_RENDER_CPDF_PAGERENDERCACHE_H_
9 9
10 #include <map> 10 #include <map>
11 11
12 #include "core/fxcrt/fx_system.h" 12 #include "core/fxcrt/fx_system.h"
13 13
14 class CPDF_Stream; 14 class CPDF_Stream;
15 class CPDF_ImageCacheEntry; 15 class CPDF_ImageCacheEntry;
16 class CPDF_Page; 16 class CPDF_Page;
17 class CPDF_RenderStatus; 17 class CPDF_RenderStatus;
18 class CFX_DIBitmap; 18 class CFX_DIBitmap;
19 class CFX_DIBSource; 19 class CFX_DIBSource;
20 class IFX_Pause; 20 class IFX_Pause;
21 21
22 class CPDF_PageRenderCache { 22 class CPDF_PageRenderCache {
23 public: 23 public:
24 explicit CPDF_PageRenderCache(CPDF_Page* pPage); 24 explicit CPDF_PageRenderCache(CPDF_Page* pPage);
25 ~CPDF_PageRenderCache(); 25 ~CPDF_PageRenderCache();
26 26
27 uint32_t EstimateSize();
28 void CacheOptimization(int32_t dwLimitCacheSize); 27 void CacheOptimization(int32_t dwLimitCacheSize);
29 uint32_t GetTimeCount() const { return m_nTimeCount; } 28 uint32_t GetTimeCount() const { return m_nTimeCount; }
30 void SetTimeCount(uint32_t dwTimeCount) { m_nTimeCount = dwTimeCount; }
31
32 void GetCachedBitmap(CPDF_Stream* pStream,
33 CFX_DIBSource*& pBitmap,
34 CFX_DIBSource*& pMask,
35 uint32_t& MatteColor,
36 bool bStdCS = false,
37 uint32_t GroupFamily = 0,
38 bool bLoadMask = false,
39 CPDF_RenderStatus* pRenderStatus = nullptr,
40 int32_t downsampleWidth = 0,
41 int32_t downsampleHeight = 0);
42 29
43 void ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap); 30 void ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap);
44 void ClearImageCacheEntry(CPDF_Stream* pStream);
45 CPDF_Page* GetPage() const { return m_pPage; } 31 CPDF_Page* GetPage() const { return m_pPage; }
46 CPDF_ImageCacheEntry* GetCurImageCacheEntry() const { 32 CPDF_ImageCacheEntry* GetCurImageCacheEntry() const {
47 return m_pCurImageCacheEntry; 33 return m_pCurImageCacheEntry;
48 } 34 }
49 35
50 bool StartGetCachedBitmap(CPDF_Stream* pStream, 36 bool StartGetCachedBitmap(CPDF_Stream* pStream,
51 bool bStdCS = false, 37 bool bStdCS,
52 uint32_t GroupFamily = 0, 38 uint32_t GroupFamily,
53 bool bLoadMask = false, 39 bool bLoadMask,
54 CPDF_RenderStatus* pRenderStatus = nullptr, 40 CPDF_RenderStatus* pRenderStatus,
55 int32_t downsampleWidth = 0, 41 int32_t downsampleWidth,
56 int32_t downsampleHeight = 0); 42 int32_t downsampleHeight);
57 43
58 bool Continue(IFX_Pause* pPause); 44 bool Continue(IFX_Pause* pPause);
59 45
60 protected: 46 private:
47 void ClearImageCacheEntry(CPDF_Stream* pStream);
48
61 CPDF_Page* const m_pPage; 49 CPDF_Page* const m_pPage;
62 CPDF_ImageCacheEntry* m_pCurImageCacheEntry; 50 CPDF_ImageCacheEntry* m_pCurImageCacheEntry;
63 std::map<CPDF_Stream*, CPDF_ImageCacheEntry*> m_ImageCache; 51 std::map<CPDF_Stream*, CPDF_ImageCacheEntry*> m_ImageCache;
64 uint32_t m_nTimeCount; 52 uint32_t m_nTimeCount;
65 uint32_t m_nCacheSize; 53 uint32_t m_nCacheSize;
66 bool m_bCurFindCache; 54 bool m_bCurFindCache;
67 }; 55 };
68 56
69 #endif // CORE_FPDFAPI_RENDER_CPDF_PAGERENDERCACHE_H_ 57 #endif // CORE_FPDFAPI_RENDER_CPDF_PAGERENDERCACHE_H_
OLDNEW
« no previous file with comments | « core/fpdfapi/render/cpdf_imageloader.cpp ('k') | core/fpdfapi/render/cpdf_pagerendercache.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698