LibreOffice Module vcl (master) 1
|
#include <impfontcache.hxx>
Classes | |
struct | IFSD_Equal |
struct | IFSD_Hash |
Public Member Functions | |
ImplFontCache () | |
~ImplFontCache () | |
rtl::Reference< LogicalFontInstance > | GetFontInstance (vcl::font::PhysicalFontCollection const *, const vcl::Font &, const Size &rPixelSize, float fExactHeight, bool bNonAntialias=false) |
rtl::Reference< LogicalFontInstance > | GetGlyphFallbackFont (vcl::font::PhysicalFontCollection const *, vcl::font::FontSelectPattern &, LogicalFontInstance *pLogicalFont, int nFallbackLevel, OUString &rMissingCodes) |
bool | GetCachedGlyphBoundRect (const LogicalFontInstance *, sal_GlyphId, tools::Rectangle &) |
void | CacheGlyphBoundRect (const LogicalFontInstance *, sal_GlyphId, tools::Rectangle &) |
void | Invalidate () |
Private Types | |
typedef o3tl::lru_map< vcl::font::FontSelectPattern, rtl::Reference< LogicalFontInstance >, IFSD_Hash, IFSD_Equal > | FontInstanceList |
Private Member Functions | |
rtl::Reference< LogicalFontInstance > | GetFontInstance (vcl::font::PhysicalFontCollection const *, vcl::font::FontSelectPattern &) |
Private Attributes | |
LogicalFontInstance * | mpLastHitCacheEntry |
keeps the last hit cache entry More... | |
FontInstanceList | maFontInstanceList |
GlyphBoundRectCache | m_aBoundRectCache |
Definition at line 65 of file impfontcache.hxx.
|
private |
Definition at line 71 of file impfontcache.hxx.
ImplFontCache::ImplFontCache | ( | ) |
Definition at line 90 of file fontcache.cxx.
References max.
ImplFontCache::~ImplFontCache | ( | ) |
Definition at line 97 of file fontcache.cxx.
References DBG_TESTSOLARMUTEX, and maFontInstanceList.
void ImplFontCache::CacheGlyphBoundRect | ( | const LogicalFontInstance * | pFont, |
sal_GlyphId | nID, | ||
tools::Rectangle & | rRect | ||
) |
Definition at line 272 of file fontcache.cxx.
References LogicalFontInstance::GetFontCache(), o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::insert(), and m_aBoundRectCache.
Referenced by LogicalFontInstance::GetGlyphBoundRect().
bool ImplFontCache::GetCachedGlyphBoundRect | ( | const LogicalFontInstance * | pFont, |
sal_GlyphId | nID, | ||
tools::Rectangle & | rRect | ||
) |
Definition at line 255 of file fontcache.cxx.
References o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::end(), o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::find(), LogicalFontInstance::GetFontCache(), and m_aBoundRectCache.
Referenced by LogicalFontInstance::GetGlyphBoundRect().
rtl::Reference< LogicalFontInstance > ImplFontCache::GetFontInstance | ( | vcl::font::PhysicalFontCollection const * | pFontList, |
const vcl::Font & | rFont, | ||
const Size & | rPixelSize, | ||
float | fExactHeight, | ||
bool | bNonAntialias = false |
||
) |
Definition at line 106 of file fontcache.cxx.
References vcl::Font::GetFamilyName(), and GetFontInstance().
|
private |
Definition at line 114 of file fontcache.cxx.
References vcl::font::PhysicalFontFace::CreateFontInstance(), DBG_TESTSOLARMUTEX, o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::end(), o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::find(), vcl::font::PhysicalFontFamily::FindBestFontFace(), vcl::font::PhysicalFontCollection::FindFontFamily(), LogicalFontInstance::GetFontSelectPattern(), vcl::font::PhysicalFontFamily::GetSearchName(), if(), o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::insert(), FontAttributes::IsMicrosoftSymbolEncoded(), IsOpenSymbol(), m_aBoundRectCache, salhelper::SimpleReferenceObject::m_nCount, maFontInstanceList, vcl::font::FontSelectPattern::maSearchName, vcl::font::FontSelectPattern::maTargetName, mpLastHitCacheEntry, o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::remove_if(), SAL_WARN_IF, o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::size(), and u.
Referenced by GetFontInstance(), and GetGlyphFallbackFont().
rtl::Reference< LogicalFontInstance > ImplFontCache::GetGlyphFallbackFont | ( | vcl::font::PhysicalFontCollection const * | pFontCollection, |
vcl::font::FontSelectPattern & | rFontSelData, | ||
LogicalFontInstance * | pLogicalFont, | ||
int | nFallbackLevel, | ||
OUString & | rMissingCodes | ||
) |
Definition at line 209 of file fontcache.cxx.
References vcl::font::PhysicalFontCollection::FindFontFamily(), vcl::font::PhysicalFontFamily::GetFamilyName(), GetFontInstance(), vcl::font::PhysicalFontCollection::GetGlyphFallbackFont(), vcl::font::FontSelectPattern::maSearchName, FontAttributes::SetFamilyName(), and u.
void ImplFontCache::Invalidate | ( | ) |
Definition at line 244 of file fontcache.cxx.
References o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::clear(), DBG_TESTSOLARMUTEX, m_aBoundRectCache, maFontInstanceList, LogicalFontInstance::mpFontCache, and mpLastHitCacheEntry.
|
private |
Definition at line 75 of file impfontcache.hxx.
Referenced by CacheGlyphBoundRect(), GetCachedGlyphBoundRect(), GetFontInstance(), and Invalidate().
|
private |
Definition at line 74 of file impfontcache.hxx.
Referenced by GetFontInstance(), Invalidate(), and ~ImplFontCache().
|
private |
keeps the last hit cache entry
Definition at line 73 of file impfontcache.hxx.
Referenced by GetFontInstance(), and Invalidate().