diff options
Diffstat (limited to 'core/fxge/include')
-rw-r--r-- | core/fxge/include/cfx_autofontcache.h | 23 | ||||
-rw-r--r-- | core/fxge/include/cfx_fontcache.h | 33 | ||||
-rw-r--r-- | core/fxge/include/fx_font.h | 27 |
3 files changed, 57 insertions, 26 deletions
diff --git a/core/fxge/include/cfx_autofontcache.h b/core/fxge/include/cfx_autofontcache.h new file mode 100644 index 0000000000..c1ef079d4f --- /dev/null +++ b/core/fxge/include/cfx_autofontcache.h @@ -0,0 +1,23 @@ +// 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_FXGE_INCLUDE_CFX_AUTOFONTCACHE_H_ +#define CORE_FXGE_INCLUDE_CFX_AUTOFONTCACHE_H_ + +#include "core/fxge/include/cfx_fontcache.h" +#include "core/fxge/include/fx_font.h" + +class CFX_AutoFontCache { + public: + CFX_AutoFontCache(CFX_FontCache* pFontCache, CFX_Font* pFont); + ~CFX_AutoFontCache(); + + private: + CFX_FontCache* m_pFontCache; + CFX_Font* m_pFont; +}; + +#endif // CORE_FXGE_INCLUDE_CFX_AUTOFONTCACHE_H_ diff --git a/core/fxge/include/cfx_fontcache.h b/core/fxge/include/cfx_fontcache.h new file mode 100644 index 0000000000..3aee20755d --- /dev/null +++ b/core/fxge/include/cfx_fontcache.h @@ -0,0 +1,33 @@ +// 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_FXGE_INCLUDE_CFX_FONTCACHE_H_ +#define CORE_FXGE_INCLUDE_CFX_FONTCACHE_H_ + +#include <map> + +#include "core/fxcrt/include/fx_system.h" +#include "core/fxge/include/fx_font.h" +#include "core/fxge/include/fx_freetype.h" + +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); +#ifdef _SKIA_SUPPORT_ + CFX_TypeFace* GetDeviceCache(CFX_Font* pFont); +#endif + + private: + using CFX_FTCacheMap = std::map<FXFT_Face, CFX_CountedFaceCache*>; + CFX_FTCacheMap m_FTFaceMap; + CFX_FTCacheMap m_ExtFaceMap; +}; + +#endif // CORE_FXGE_INCLUDE_CFX_FONTCACHE_H_ diff --git a/core/fxge/include/fx_font.h b/core/fxge/include/fx_font.h index 8c7928199b..bb7632d1db 100644 --- a/core/fxge/include/fx_font.h +++ b/core/fxge/include/fx_font.h @@ -19,6 +19,7 @@ typedef struct FT_FaceRec_* FXFT_Face; typedef void* FXFT_Library; class CFX_FaceCache; +class CFX_FontCache; class CFX_PathData; class CFX_SizeGlyphCache; class CFX_SubstFont; @@ -289,32 +290,6 @@ class CFX_CountedFaceCache { uint32_t m_nCount; }; -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); -#ifdef _SKIA_SUPPORT_ - CFX_TypeFace* GetDeviceCache(CFX_Font* pFont); -#endif - - private: - using CFX_FTCacheMap = std::map<FXFT_Face, CFX_CountedFaceCache*>; - CFX_FTCacheMap m_FTFaceMap; - CFX_FTCacheMap m_ExtFaceMap; -}; - -class CFX_AutoFontCache { - public: - CFX_AutoFontCache(CFX_FontCache* pFontCache, CFX_Font* pFont) - : m_pFontCache(pFontCache), m_pFont(pFont) {} - ~CFX_AutoFontCache() { m_pFontCache->ReleaseCachedFace(m_pFont); } - CFX_FontCache* m_pFontCache; - CFX_Font* m_pFont; -}; - class CFX_GlyphBitmap { public: int m_Top; |