LibreOffice Module vcl (master)  1
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
GlyphCache Class Referencefinal

#include <glyphcache.hxx>

Collaboration diagram for GlyphCache:
[legend]

Classes

struct  IFSD_Equal
 
struct  IFSD_Hash
 

Public Member Functions

 GlyphCache ()
 
virtual ~GlyphCache ()
 
void AddFontFile (const OString &rNormalizedName, int nFaceNum, int nVariantNum, sal_IntPtr nFontId, const FontAttributes &)
 
void AnnounceFonts (PhysicalFontCollection *) const
 
FreetypeFontCacheFont (LogicalFontInstance *pFontInstance)
 
void UncacheFont (FreetypeFont &)
 
void ClearFontCache ()
 
void ClearFontOptions ()
 

Static Public Member Functions

static GlyphCacheGetInstance ()
 

Private Types

typedef std::unordered_map< rtl::Reference< LogicalFontInstance >, std::unique_ptr< FreetypeFont >, IFSD_Hash, IFSD_EqualFontList
 
typedef std::unordered_map< sal_IntPtr, std::unique_ptr< FreetypeFontInfo > > FontInfoList
 

Private Member Functions

void GarbageCollect ()
 
FreetypeFontCreateFont (LogicalFontInstance *pLogicalFont)
 

Static Private Member Functions

static void InitFreetype ()
 

Private Attributes

FontList maFontList
 
sal_uLong mnBytesUsed
 
FreetypeFontmpCurrentGCFont
 
FontInfoList m_aFontInfoList
 
sal_IntPtr m_nMaxFontId
 

Static Private Attributes

static constexpr sal_uLong gnMaxSize = 1500000
 

Detailed Description

Definition at line 50 of file glyphcache.hxx.

Member Typedef Documentation

typedef std::unordered_map<sal_IntPtr, std::unique_ptr<FreetypeFontInfo> > GlyphCache::FontInfoList
private

Definition at line 80 of file glyphcache.hxx.

typedef std::unordered_map<rtl::Reference<LogicalFontInstance>,std::unique_ptr<FreetypeFont>,IFSD_Hash,IFSD_Equal > GlyphCache::FontList
private

Definition at line 79 of file glyphcache.hxx.

Constructor & Destructor Documentation

GlyphCache::GlyphCache ( )
explicit
virtual GlyphCache::~GlyphCache ( )
virtual

Member Function Documentation

void GlyphCache::AddFontFile ( const OString &  rNormalizedName,
int  nFaceNum,
int  nVariantNum,
sal_IntPtr  nFontId,
const FontAttributes  
)
void GlyphCache::AnnounceFonts ( PhysicalFontCollection ) const
FreetypeFont* GlyphCache::CacheFont ( LogicalFontInstance pFontInstance)
void GlyphCache::ClearFontCache ( )
void GlyphCache::ClearFontOptions ( )
FreetypeFont* GlyphCache::CreateFont ( LogicalFontInstance pLogicalFont)
private
void GlyphCache::GarbageCollect ( )
private
static GlyphCache& GlyphCache::GetInstance ( )
static
static void GlyphCache::InitFreetype ( )
staticprivate
void GlyphCache::UncacheFont ( FreetypeFont )

Member Data Documentation

constexpr sal_uLong GlyphCache::gnMaxSize = 1500000
staticprivate

Definition at line 83 of file glyphcache.hxx.

FontInfoList GlyphCache::m_aFontInfoList
private

Definition at line 87 of file glyphcache.hxx.

sal_IntPtr GlyphCache::m_nMaxFontId
private

Definition at line 88 of file glyphcache.hxx.

FontList GlyphCache::maFontList
private

Definition at line 82 of file glyphcache.hxx.

sal_uLong GlyphCache::mnBytesUsed
mutableprivate

Definition at line 84 of file glyphcache.hxx.

FreetypeFont* GlyphCache::mpCurrentGCFont
private

Definition at line 85 of file glyphcache.hxx.


The documentation for this class was generated from the following file: