Chromium Code Reviews| Index: core/fxge/include/cfx_fontcache.h |
| diff --git a/core/fxge/include/cfx_fontcache.h b/core/fxge/include/cfx_fontcache.h |
| index d4a4dddaa5691cbaa8a1647fe4cbf1834fcc7289..dd9a176d19145314e82ec728df2c0353929e5edd 100644 |
| --- a/core/fxge/include/cfx_fontcache.h |
| +++ b/core/fxge/include/cfx_fontcache.h |
| @@ -8,6 +8,7 @@ |
| #define CORE_FXGE_INCLUDE_CFX_FONTCACHE_H_ |
| #include <map> |
| +#include <memory> |
| #include "core/fxcrt/include/fx_system.h" |
| #include "core/fxge/include/fx_font.h" |
| @@ -19,15 +20,21 @@ class CFX_FontCache { |
| public: |
| CFX_FontCache(); |
| ~CFX_FontCache(); |
| - CFX_FaceCache* GetCachedFace(CFX_Font* pFont); |
| - void ReleaseCachedFace(CFX_Font* pFont); |
| - void FreeCache(FX_BOOL bRelease = FALSE); |
| + CFX_FaceCache* GetCachedFace(const CFX_Font* pFont); |
| + void ReleaseCachedFace(const CFX_Font* pFont); |
| #ifdef _SKIA_SUPPORT_ |
| - CFX_TypeFace* GetDeviceCache(CFX_Font* pFont); |
| + CFX_TypeFace* GetDeviceCache(const CFX_Font* pFont); |
| #endif |
| private: |
| - using CFX_FTCacheMap = std::map<FXFT_Face, CFX_CountedFaceCache*>; |
| + struct CountedFaceCache { |
|
npm
2016/09/14 23:07:59
Why not use CPDF_CountedObject<CFX_FaceCache> inst
snake
2016/09/15 10:39:25
The CPDF_CountedObject was used only in this class
|
| + CountedFaceCache(); |
| + ~CountedFaceCache(); |
| + std::unique_ptr<CFX_FaceCache> m_Obj; |
| + uint32_t m_nCount; |
| + }; |
| + |
| + using CFX_FTCacheMap = std::map<FXFT_Face, std::unique_ptr<CountedFaceCache>>; |
| CFX_FTCacheMap m_FTFaceMap; |
| CFX_FTCacheMap m_ExtFaceMap; |
| }; |